1から100までの数を表示するプログラムを書け。
ただし3の倍数のときは数の代わりに「Fizz」と表示。
5の倍数のときは「Buzz」と表示。
3と5両方の倍数の場合には「FizzBuzz」と表示すること。
VBScriptで書いてみた、前述資料にPerlでの答えが書いてあったからインチキだけど。
[sourcecode language='vb']
for i=1 to 100
'// 文字列初期化
strTemp = ""
'// 3の倍数ならFizzを文字列に追加
if (i mod 3) = 0 Then
strTemp = "Fizz"
End if
'// 5の倍数ならBuzzを文字列に追加
if (i mod 5) = 0Then
strTemp = strTemp & "Buzz"
End if
'// ここで文字列が空っぽなら数字を代入
if strTemp = "" Then
strTemp = i
End if
'// 表示用の一列作成
strResult = strResult & i & VbTab & strTemp & VbCrLf
Next
'// 表示
Msgbox strResult,,"FizzBuzz"
Wscript.Quit
[/sourcecode]
実行するとこうなる、スペースの都合で1-30までの表示としてます。
[caption id="attachment_1097" align="alignnone" width="130" caption="画像:FizzBuzz"]
うん、アプローチは色々ありそうだけど、まあできてるんでないの。