FizzBuzz問題とは?
プログラマ採用試験に応募してくる人が後を絶たないことに業を煮やした開発者が、
ふるい分けのために使っている問題。
問題内容
1から100までの数を順に出力せよ。ただし、その数が3で割り切れるときは”Fizz”
いう文字列を、5で割り切れるときは”Buzz”という文字列を、3と5のどちらでも割り切れるとき
は”FizzBuzz”という文字列をそれぞれ数の代わりに出力せよ
実行イメージ
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 : : |
解答例
Kos

OK!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include<stdio.h> int main( void ) { int i ; for (i=1;i<101;i++){ if (i%3==0 && i%5==0){ printf ( "FizzBuzz\n" ); } else if (i%3==0){ printf ( "Fizz\n" ); } else if (i%5==0){ printf ( "Buzz\n" ); } else { printf ( "%d\n" ,i); } } return 0; } |
Nar

if文を2つ使った方法。
この考え方もありかなと思う。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int main( void ) { int i; for (i=1;i<=100;i++){ if (i%3==0){ printf ( "Fizz" ); } if (i%5==0){ printf ( "Buzz" ); } else if (i%3!=0 && i%5!=0){ printf ( "%d" ,i); } printf ( "\n" ); } return 0; } |
Oot

未完成だが、いい線いってる!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <stdio.h> int main( void ) { int r; for (r=1; r<=100; r++){ printf ( "%d\n" ,r); if (r%3==0){ printf ( "Fizz\n" ); } if (r%5==0){ printf ( "Buzz\n" ); } if (r%3==0 && r%5==0){ printf ( "FizzBuzz\n" ); } } return 0; } |
Kaw

オッケー!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include<stdio.h> int main( void ) { int x; for (x=1;x<=100;x++){ if (x%5==0 && x%3==0){ printf ( "FizzBuzz\n" ); } else if (x%3==0){ printf ( "Fizz\n" ); } else if (x%5==0){ printf ( "Buzz\n" ); } else { printf ( "%d\n" ,x); } } return 0; } |
Tak

ちなみにわたしはこんな感じ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <stdio.h> int main( void ) { int i; for (i=1; i<=100; i++){ if (!(i%3) && !(i%5)) printf ( "FizzBuzz\n" ); else if (!(i%3)) printf ( "Fizz\n" ); else if (!(i%5)) printf ( "Buzz\n" ); else printf ( "%d\n" , i); } return 0; } |
コメント