Skip to main content

Solution Program for Fizz Buzz Problem

#include <stdio.h>
#include <stdlib.h>

  /*
  * Solution Program for FizzBuzz (codeeval.com) - https://www.codeeval.com/open_challenges/1/
  */

int main(int argc,char *argv[])
{
        FILE *fp;
        int x,y,count,i;

        if (argc < 2) {
         printf("Error :- File not specified \n");
         exit(0);
        }

        fp = fopen (argv[1],"r");
        if (fp == NULL) {
                printf("Error :- Can't open file \n");
                exit(0);
        }
        while (fscanf(fp,"%d %d %d",&x,&y,&count) != EOF ) {
                printf("Read - X = %d Y = %d Count = %d\n",x,y,count);

                if ( x < 1 || x > 20 || y < 1 || y > 20 || count < 21 || count > 100) {
                        printf("Invalid Input - please use Ranges X[1-20] Y[1-20] Z[21-100]\n");
                        exit(0);
                }

                for (i =1; i <= count;i++) {
                        if(!(i%x) && !(i%y)){
                                putchar('F');
                                putchar('B');
                        } else if (!(i%x)) {
                                putchar('F');
                        } else if (!(i%y)) {
                                putchar('B');
                        } else {
                                printf("%d",i);
                        }
                        putchar(' ');
                }
                putchar('\n');
        }
        return 0;
}

                                                                                                                                                             

Comments

Popular posts from this blog

Sampling and FFT Size derivation in LTE

Sampling and FFT Size derivation in LTE Ts = 1 / (15000 x 2048) seconds, which corresponds to the 30.72 MHz sample clock for the 2048 point FFT used with the 20 MHz system bandwidth. In the frequency domain, the number of sub-carriers N ranges from 128 to 2048, depending on channel bandwidth with 512 and 1024 for 5 and 10 MHz, respectively, being most commonly used in practice. The sub-carrier spacing is ∆f = 1/T u = 15 kHz. The sampling rate is fs = ∆f · N = 15000 N. This results in a sampling rate that’s multiple or sub-multiple of the WCDMA chip rate of 3.84 Mcps: LTE parameters have been chosen such that FFT lengths and sampling rates are easily obtained for all operation modes while at the same time ensuring the easy implementation of dual-mode devices with a common clock reference. Sampling frequency is Multiple's of 2, For 15 Mhz Bandwidth - Sampling Frequency = 23.04 (6 * 3.84). FFT SIZE = S...

C Programming Questions – Part 1

1. W hat do curly braces denote in C? Why does it make sense to use curly brac es to surround the body of a function?   Answer: The curly braces denote a block of code, in which variables can be declared. Variables declared within the block are valid only until the end of the block, marked by the matching right curly brace ’}’. The body of a function is one such type of block, and thus, curly braces are used to describe the extent of that block . 2.Describe the difference between the literal values 7, "7", and ’7 ’ ?   Answer: The first literal is integer 7.Second literal is null terminated string value '7'.Third literal is character '7' having ASCII character code (55). 3. Consider the statement double ans = 10.0+2.0/3.0−2.0∗2.0; Rewrite this statement, inserting parentheses to ensure that ans = 11.0 upon evaluation of this statement ? Answer: double ans = 10.0+2.0/ (( 3.0−2.0 ) ∗2.0 ) ; 4 .C...

C program to suppress the multiple space and tabs in a line

--> C program to suppress the multiple space and tabs in a line of input to single space,(Dennis Ritchie exercise 1.9 page 19. #include<stdio.h> /* Copy and replace multiple blanks and tabs by single space Autor:- Surendra Patil Date:- july 9th 2013 */ int main() { int c; printf("\n enter the input with tabs and spaces \n"); while ((c=getchar()) != EOF) {   if(c ==' ' || c == '\t') {      putchar(' ');      /* squeze all the blanks and tabs */     while ( ((c = getchar()) != EOF) && (c == ' ' || c == '\t'));   }    putchar(c); } return 0; } Input:- surendra patil nidasoshi Output:- surendra patil nidasoshi