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ダンジョンの進め方や解説が乗っていますので参考にしてみてください。

この問題自体はとても簡単です。
プログラミング初心者でもわかるかとは思います。
なので本当に試験等で出てくる場合は時間の制限や禁止文字列の設定、行数、実行速度の要求など様々なことが行われると思います。
入社試験などにこういった問題があればプログラミングの力も見れるかとは思います。


コメントを残す