3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

FizzBuzz問題をJavaScriptで解く

Last updated at Posted at 2022-03-27

私が通っているスクールで、FizzBuzz問題を解いてこい!っていう課題が出たので、ついでに記事にします。もっとこうした方がきれいに書けるよ!記事として読みやすいよ!等ありましたら、是非コメントお願いします。
スクールHP↓
SUNABACO

FizzBuzz問題

0~100までの数字を出力する。そのうち、3の倍数で「Fizz」、5の倍数で「Buzz」と出力する。ただし、両方の倍数の場合は「FizzBuzz」と出力する。
(1~任意の数字までを出力するというのが一般的みたいです。)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 …

FizzBuzz 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz …
といった具合

条件整理

  1. 0~100までの数字を出力する
  2. 3の倍数の場合は「Fizz」
  3. 5の倍数の場合は「Buzz」
  4. 3、5両方の倍数の場合は「FizzBuzz」とする
  5. 1~4の条件を組み合わせる

実際に解いてみる

  1. 0~100までの数字を出力する   
    for (let i = 0; i < 101; i++) {
        console.log(i)
    }
    
  2. 3の倍数の場合は「Fizz」

    3の倍数=3で割り切れる数 なので、i % 3 === 0をif文の条件とする。5、15の倍数も同様

    for (let i = 0; i < 101; i++) {
      if (i % 3 === 0) {
      console.log("Fizz");
      }
    }
    

      

  3. 5の倍数の場合は「Buzz」
    for (let i = 0; i < 101; i++) {
      if (i % 5 === 0) {
      console.log("Buzz");
      }
    }
    

      

  4. 3、5両方の倍数の場合は「FizzBuzz」とする

    3、5両方、つまり15の倍数の場合は

    for (let i = 0; i < 101; i++) {
      if (i % 15 === 0) {
      console.log("FizzBuzz");
      }
    }
    
  5. 1~4の条件を組み合わせる

    ここで、FizzBuzz条件のif文を最初に置くのがポイント。Fizz、Buzz条件のif文を先に置いてしまうと、そちらの条件に引っかかってしまう。

    for (let i = 0; i < 101; i++) {
      if (i % 15 === 0) {
        console.log("FizzBuzz");
      } else if (i % 5 === 0) {
        console.log("Buzz");
      } else if (i % 3 === 0) {
        console.log("Fizz");
      } else {
        console.log(i);
      }
    }
    

    おまけ

    0はFizzBuzzの条件の例外としてそのまま出力する、というおまけ?課題も出たので、載せておきます。

    for (let i = 0; i < 101; i++) {
      if (i % 15 === 0 && i !== 0) {
        console.log("FizzBuzz");
      } else if (i % 5 === 0 && i !== 0) {
        console.log("buzz");
      } else if (i % 3 === 0 && i !== 0) {
        console.log("fizz");
      } else {
        console.log(i);
      }
    }
    
3
1
9

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?