2008年12月4日木曜日

VBScript で FizzBuzz

FizzBuzz って言うのがあるというのを知った、 今夜わかるセキュアプログラミング - うさぎ文学日記 を見て。

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"]画像:FizzBuzz[/caption]
 

うん、アプローチは色々ありそうだけど、まあできてるんでないの。