Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.
Language: C
Difficulty: One line of code (i.e. one semicolon).
#include <stdio.h>
int main(void) { for(int i = 0;i++<100;!(i%3)?!(i%5)?printf("fizzbuzz\n"):printf("fizz\n"):!(i%5)?printf("buzz\n"):printf("%d\n",i));}
Name:
Anonymous2011-03-26 0:56
Longest program wins.
inb4 Java
Name:
Anonymous2011-03-26 1:43
If I add "1\n2\nfizz\n4\nbuzz\nfizz\n7\n8\nfizz\nbuzz\n11\nfizz\n13\n..." to the string table, does that count against my code size?
>>9
of course one can go deeper
//7
main(){int x=0;for(;++x-101;)x%5?x%3?printf("%d\n",x):puts("fizz"):x%3?puts("buzz"):puts("fizzbuzz");}
//8
main(){int x=0;for(;++x-101;)x%5?x%3?printf("%d\n",x):puts("fizz"):puts(x%3?"buzz":"fizzbuzz");}
main(){int x=0;for(;++x-101;)x%5?printf(x%3?"%d\n":"fizz\n",x):puts(x%3?"buzz":"fizzbuzz");}
// new version
main(){int x=0;for(;++x-101;)printf(x%5?x%3?"%d\n":"fizz\n":x%3?"buzz\n":"fizzbuzz\n",x);}