FizzBuzz問題
海外にはFizz Buzzという遊びがあるそうです。
この遊びをコード化することによってプログラマの腕を見るそうテストが「FizzBuzz問題」です。
FizzBuzzとは
英語圏の遊びでプレイヤー同士が順次1から発言していき、3で割り切れる場合は 「Fizz」、5で割り切れる場合は 「Buzz」、両者で割り切れる場合は 「Fizz Buzz」を数の代わりに発言しなければならない。発言を間違えた者や、ためらった者は脱落となる。FizzBuzz問題
このゲームをコンピュータ画面に表示させるプログラムとして作成させることで、コードがかけないプログラマ志願者を見分ける手法を Jeff Atwood が FizzBuzz問題 (FizzBuzz Question)として提唱した。PHPでの回答
PHPでの簡単な回答をです。<?php for($i = 1; $i <= 100;$i++){ switch($i){ case $i%3 == 0 && $i%5 == 0: echo "FizzBuzz"; break; case $i%3 == 0: echo "Fizz"; break; case $i%5 == 0: echo "Buzz"; break; default: echo $i; } echo ","; } ?>
実行結果
1,2,Fizz,4,Buzz,Fizz,7,8,Fizz,Buzz,11,Fizz,13,14,FizzBuzz,16,17,Fizz,19,Buzz,Fizz,22,23,Fizz,Buzz,26,Fizz,28,29,FizzBuzz,31,32,Fizz,34,Buzz,Fizz,37,38,Fizz,Buzz,41,Fizz,43,44,FizzBuzz,46,47,Fizz,49,Buzz,Fizz,52,53,Fizz,Buzz,56,Fizz,58,59,FizzBuzz,61,62,Fizz,64,Buzz,Fizz,67,68,Fizz,Buzz,71,Fizz,73,74,FizzBuzz,76,77,Fizz,79,Buzz,Fizz,82,83,Fizz,Buzz,86,Fizz,88,89,FizzBuzz,91,92,Fizz,94,Buzz,Fizz,97,98,Fizz,Buzz,
Webで挑戦
FizzBuzzのダンジョンWebで挑戦できるFizzBuzzの問題です。
あなたはどこまで解き進められる?「FizzBuzzダンジョン」でコードパズル
FizzBuzzダンジョンの進め方や解説が乗っていますので参考にしてみてください。
この問題自体はとても簡単です。
プログラミング初心者でもわかるかとは思います。
なので本当に試験等で出てくる場合は時間の制限や禁止文字列の設定、行数、実行速度の要求など様々なことが行われると思います。
入社試験などにこういった問題があればプログラミングの力も見れるかとは思います。
«前の記事:CSSで簡単IME制御【ime-mode】CSSのみで簡単に画像が上下に動くスライドショー:次の記事»