パンプキンスパイスラテ

IT系のことが多めの日記帳です

FizzBuzz問題

これ有名だったのね。知らなかった。ロジックだけわかれば、すげー簡単だった。javascriptでたった5行!俺は10行以上かけてしまったよ。。。

条件

  1. 1から100までカウントする
  2. 3の倍数の時は「Fizz」と表示
  3. 5の倍数の時は「Buzz」と表示
  4. 3と5の倍数の時は「FizzBuzz」と表示

javascriptで書いてみた。

for(var i=1; i <= 100; i++){
  if(i % 3 == 0) document.write('Fizz');
  if(i % 5 == 0) document.write('Buzz');
  if(i % 3 != 0 && i % 5 != 0) document.write(i);
  document.write('<br />');
}

こんなシンプル!俺が始めに書いたのは、

  1. もし(if)3の倍数と5の倍数なら「FizzBuzz」と表示
  2. もし(else if)3の倍数なら「Fizz」と表示
  3. もし(else if)5の倍数なら「Buzz」と表示
  4. もし(else)それ以外ならループしている値(i)を表示
  5. 改行を表示

てなことやって、if文のとこで可読性の為に改行したりしてたから10行以上かかってしまった。しかもムダに変数を使ったりしてたしorz

もっとロジックを頭で考えるようにしよう。