配列と繰り返しの練習

「FizzBuzz 問題」をやってみよう!!

FizzBuzz とは

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

進行例

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

FizzBuzz 問題

このゲーム(上記の進行例の結果)をプログラミングで表現するのが「FizzBuzz 問題」である.通常は 1 から 100 までの数字で行われる.

早速チャレンジ!!

ブラウザの画面上に処理結果を出力しよう.

下記のような表示になれば OK!

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16

...以下100まで

NG パターン

これは流石に力技すぎるので NG!!

console.log(1);
console.log(2);
console.log("Fizz");
console.log(4);
console.log("Buzz");
console.log("Fizz");
console.log(7);
// ...以下100まで全部console.log()を書く

ヒントやコツ

いきなりチャレンジしても良いが,難しそうな場合は下記のステップでやってみよう!

  1. 「1 から 100 の数値」を console に出力する.
  2. 「3 の倍数の場合」に「Fizz」を出力する.
  3. 「5 の倍数の場合」に「Buzz」を出力する.
  4. 「3 の倍数かつ 5 の倍数の場合」に「FizzBuzz」を出力する.
  5. 処理結果を画面に表示する処理をつくる.

「条件分岐と繰り返し」ができればいける!

いろいろな書き方があるが,どんな書き方でも正しい結果が得られれば OK!

できたらコードをシェアしよう!!