プログラミングの実力や個性を試す問題として「FizzBuzz問題」が有名です。
- 1から100までの数を表示する。
- 3の倍数のときは,数の代わりにFizzと表示する。
- 5の倍数のときは,数の代わりにBuzzと表示する。
- 3の倍数かつ5の倍数のときは,数の代わりにFizzBuzzと表示する。
- それ以外のときは,その数を表示する。
<実行結果>
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
...
シンプルなルールですが,自分でプログラムを作ってみると,順次・反復・分岐という基本構造が全て登場するので,実力を試すのによい問題と言われています(もちろん,あなたの個性も見えてきます)。
なお,このページでは,Fizzの代わりに「パン」,Buzzの代わりに「ごはん」と表示しています。
なでしこでFizzBuzz
サンプルプログラムはここをクリック。
100回 もし,(回数%3=0)かつ(回数%5=0)ならば 「パンとごはん」と表示。 違えばもし,(回数%3=0)ならば 「パン」と表示。 違えばもし,(回数%5=0)ならば 「ごはん」と表示。 違えば 回数を表示。 ここまで。 ここまで。
JavascriptでFizzBuzz
var i; for( i=1; i<=100; i++ ) { if( (i%3 == 0) && (i%5 == 0) ) { console.log( "パンとごはん" ); } else if ( i%3 == 0 ) { console.log( "パン" ); } else if ( i%5 == 0 ) { console.log( "ごはん" ); } else { console.log(i); } }
Python3でFizzBuzz
for i in range(1, 101): if ( i%3 == 0 ) and ( i%5 == 0 ): print("パンとごはん") elif i%3 == 0: print("パン") elif i%5 == 0: print("ごはん") else: print(i)
RubyでFizzBuzz
for i in 1..100 if ( i%3 == 0 ) && ( i%5 == 0 ) puts "パンとごはん" elsif i%3 == 0 puts "パン" elsif i%5 == 0 puts "ごはん" else puts i end end
Visual BasicでFizzBuzz
Dim i as Integer For i = 1 To 100 If (i mod 3 = 0) and (i mod 5 = 0) Then Console.WriteLine("パンとごはん") Else If i mod 3 = 0 Then Console.WriteLine("パン") Else If i mod 5 = 0 Then Console.WriteLine("ごはん") Else Console.WriteLine(i) End If Next