FizzBuzzをJavaScriptで書いてみた

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。

どうしてプログラマに・・・プログラムが書けないのか? Fine Software Writings

ちょっと、チャレンジして勉強中のJavaScriptで、FizzBuzz問題を解いてみた。

スポンサーリンク

ロジックとしては、まあ簡単なものですが、あまりうまい解き方ではないかもしれん・・・

ロジック:

1.まずは1~100までのループ。
2.条件分岐を使って・・・
3.3と5両方の倍数、つまり15の倍数のときは、FizzBuzzと表示。
4.3の倍数、かつ15の倍数でないときは、Fizzと表示。
5.5の倍数、かつ15の倍数でないときは、Buzzと表示。
6.それ以外のときは、数字を表示。

書いてみたソース:

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

FizzBuzz実行結果

一応、上手く動いたみたいだけど、もう少しエレガントな書き方があるに違いない・・・

スポンサーリンク
 
スポンサーリンク