Fizz Buzz

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Jump to navigation Jump to search

Fizz Buzz(フィズ・バズ、Bizz BuzzBuzz とも呼ばれる)は英語圏で長距離ドライブ中やパーティーの時に行われる言葉遊びである。

遊び方[編集]

プレイヤーは円状に座る。最初のプレイヤーは「1」と数字を発言する。次のプレイヤーは直前のプレイヤーの次の数字を発言していく。ただし、3の倍数では「Fizz」(Bizz Buzzの場合は「Bizz」)、5の倍数では「Buzz」、両者の公倍数(すなわち15の倍数)では「Fizz Buzz」(Bizz Buzzの場合は「Bizz Buzz」)を数の代わりに発言しなければならない。発言を間違えた者や、ためらった者は脱落となる。

ゲームは、以下のとおりに発言が進行する。

1、2、Fizz、4、BuzzFizz、7、8、FizzBuzz、11、Fizz、13、14、Fizz Buzz、16、17、Fizz、19、BuzzFizz、22、23、FizzBuzz、26、Fizz、28、29、Fizz Buzz、31、32、Fizz、34、BuzzFizz、...

プログラミング[編集]

このゲームをコンピュータ画面に表示させるプログラムとして作成させることで、コードを作れないプログラマ志願者を見分ける手法をジェフ・アトウッドが「FizzBuzz 問題」として提唱した。その提唱はインターネットの様々な場所で議論の対象になっている。

また、実際に「制限時間2分以内」「剰余演算を用いない」「1行でできる限り短く(ワンライナー)」等の制約下でゲーム条件を満たすコード記述の腕試しをする者が続出した。以下はPascalによる標準的な解答例である。

program fizzBuzz ;
var
  i : integer ;
begin
  for i := 1 to 100 do
    if (i mod 3 = 0) and (i mod 5 = 0) then
      writeln ('FizzBuzz')
    else if i mod 3 = 0 then
      writeln ('Fizz')
    else if i mod 5 = 0 then
      writeln ('Buzz')
    else
      writeln (i)
end.

関連項目[編集]

外部リンク[編集]