Fizz-Buzzしてみる
以下の記事を読みました。
JavaScriptでFizzBuzzしてみた - 開発記録
以下のようなプログラムを組んで、プログラマーがある程度使い物になるのかを判断するのが目的のようです。(多分)
1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。
C言語で書いてみます。
※ コンパイルもしていないので、動くかも分かりません。
安直に書く
#include <stdio.h> int main(int argc, const char *argv[]) { int i; for (i = 1; i <= argc; 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; }
再帰ルーチンでやってみる
#include <stdio.h> void fizzbuzz(int i) { if (i > 1) { fizzbuzz(i - 1); } 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); } } int main(int argc, const char *argv[]) { fizzbuzz(argc); return 0; }
短く書いてみたり、除算縛りしてみたり等してみたいのですが、都合によりまた次回。何も面白くない記事になってしまったけど。。Fizz-Buzzと顔芸だけでヒットした何とかって芸人さんは只者ではありませんね。
ではでは。