BLOG
FizzBuzz問題に取り組んでみる
FizzBuzz問題に取り組んでみる
2008.01.21
プログラマーではないんですが、コードを書くこともあるので少しやってみました。
プレイヤーは円状に座る。最初のプレイヤーは「1」と数字を発言する。次のプレイヤーは直前のプレイヤーの次の数字を発言していく。ただし、3で割り切れる場合は 「Fizz」(Bizz Buzz の場合は 「Bizz」)、5で割り切れる場合は 「Buzz」、両者で割り切れる場合は 「Fizz Buzz」 (Bizz Buzz の場合は 「Bizz Buzz」)を数の代わりに発言しなければならない。発言を間違えた者やためらった者は脱落となる。
http://ja.wikipedia.org/wiki/Fizz_Buzz
長谷川、こういうゲームは苦手です。
これをプログラムで出力するのが「FizzBuzz問題」。とても簡単なんですが、wikiにも説明がある通り、コードを書けない人を見分けるためだったり、「制限時間2分以内」「剰余(%記号等)を用いない」なんていう縛りを設けたテストだったりするみたいです。
100までをPHPで書いてみました。2分では無理でした。
$i=0; while ($i<100) { $i++; if (($i%3)==0 && ($i%5)==0) echo "FizzBuzz"; elseif (($i%3)==0) echo "Fizz"; elseif (($i%5)==0) echo "Buzz"; else echo $i; }