Fizz-Buzz問題
ってのがあって。
1から100までの整数を表示するプログラムを書け。
ただし、3の倍数のときは「Fizz」、5の倍数のときは「Buzz」、
3と5の倍数のときには「FizzBuzz」を数の代わりに表示する。
数分で書けないのならプログラマとして駄目らしい。
如何にも、問題は単純で時間も掛からず出来そうなんですよね。
という訳でやってみる。
#includeint main(void){ int i; for(i=1;i<101;i++){ if(i%3==0 || i%5==0){ if(i%3==0) printf("Fizz"); if(i%5==0) printf("Buzz"); }else{ printf("%3d", i); } printf("\n"); } return 0; }
これだと簡単すぎるので、剰余を使わないなんて縛りもあるらしいのですが。
小一時間考えてもどうにも長いコードになりそうなので、
答えをググってみたら、出力を15周期として順々に表示するというやり方だった。
そんなに単純なものなのか。
これ応用して、3と5を任意の整数にしても面白いかと思ったけど、そんなこともなかったか。