お遊びついでということで、Fizz Buzzもやってみました。
普通にやってもつまらないので、Fizz Buzzだけで3種類です。
普通にFizz Buzz
for (var i=1; i<=100; i++){ if (i%3 === 0 && i%5 === 0) $.writeln("Fizz Buzz"); else if (i%3 === 0) $.writeln("Fizz"); else if (i%5 === 0) $.writeln("Buzz"); else $.writeln(i); }
おそらくいちばんシンプルなFizz Buzz。
配列とArray.joinメソッドでFizz Buzz
for (var i=1; i<=100; i++){ var say = []; if (i%3 === 0) say.push("Fizz"); if (i%5 === 0) say.push("Buzz"); if (i%3 !== 0 && i%5 !== 0) say.push(i); $.writeln(say.join(" ")); }
今度は配列を使ってみました。
先の普通のFizz Buzzと違うのは、例えば「3の倍数でFizzではなくBizzにする」とか「FizzとBuzzの間を|
にする」とか「コンソールじゃなくてalertにする」といった修正が1箇所で済むというところです。
剰余演算子%を使わずFizz Buzz
var Fizz = 3, Buzz = 5; var count = [Fizz, Buzz]; for (var i=1; i<=100; i++){ if (i === count[0] && i === count[1]){ $.writeln("Fizz Buzz"); count[0] += Fizz; count[1] += Buzz; } else if (i === count[0]){ $.writeln("Fizz"); count[0] += Fizz; } else if (i === count[1]){ $.writeln("Buzz"); count[1] += Buzz; } else { $.writeln(i); } }
最後は、剰余演算子%
を使わずに書いてみました。
さすがに「Switch文で…」は書きたくないのでやめましたw