FizzBuzz問題というのが(簡単な)プログラミングの課題であるらしいので、調べてみたら次のようなもの。
1から100までの数をプリントするプログラムを書け。
ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」と
プリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。
特におもしろくもなくテクニックも要らないんですが、プログラムができる人とできない人をより分けるのに使う問題だそうで。
でも就職試験でこれ出されてもねぇ。もう少し難しい問題出してもできる人とできないひとをより分けることはできると思います。
これはプログラムが少しだけできるひとが全くできない人を見てあざ笑うための問題じゃないかなと。
一行プログラムだとか条件分岐を使わずに謎な評価式のプログラムとかたくさんあります。
遊びならともかく、もし採用試験でそんなのを回答にしてきたら、私なら、そんなのを書く人は不採用、却下ですね。。
[fizzbuzz.js]
// 変数定義
var i; // カウントする数値
var msg; // 表示するためのメッセージストア
// メインルーチン
for(i=1; i<=100; i++) { // 1から100までiをカウントアップ
msg = ""; // メッセージをクリア
if(i % 3 == 0) { // 3の倍数ならばメッセージを "Fizz" に設定
msg = "Fizz";
}
if(i % 5 == 0) { // 5の倍数ならばメッセージを "Buzz" に設定
msg = "Buzz";
}
if(i % 3 == 0 && i % 5 == 0) { // 3の倍数でかつ5の倍数ならばメッセージを "FizzBuzz" に設定
msg = "FizzBuzz";
}
if(msg.length == 0) { // メッセージが無ければ値を表示
WScript.Echo(i);
}
else { // メッセージが有る場合はメッセージを表示
WScript.Echo(msg); }
}
このサンプルもコード中に固定値を書いてたりしてビミョーですが。
全文にはドキュメントもあります。