1
0

More than 3 years have passed since last update.

Fizz Buzz(Ruby編)

Posted at

Fizz Buzzを解く(Ruby編)

問題

整数 N が入力として与えられます。

1からNまでの整数を1から順に表示してください。

ただし、表示しようとしている数値が、

・3の倍数かつ5の倍数のときには、"Fizz Buzz"
・3の倍数のときには、"Fizz"
・5の倍数のときには、"Buzz"

を数値の代わりに表示してください。

入力される値

入力は以下のフォーマットで与えられます。

N

N は1以上N以下の整数です。

期待する出力

最後は改行し、余計な文字、空行を含んではいけません。

入力例

20

出力例

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
Fizz Buzz
16
17
Fizz
19
Buzz

私の答え

num = gets.to_i
(1..num).each do |n|
    if n % 15 == 0
        puts "Fizz Buzz"
    elsif n % 5 == 0
        puts "Buzz"
    elsif n % 3 == 0
        puts "Fizz"
    else
        puts n
    end
end

ポイントは(1..num)で1〜numまでの数字をeachメソッドで順番に取り出し、3、5、15で割った時に0になれば文字列を出力するというところ。至ってシンプルだが、プログラミング脳になっていないとなかなか厳しい問題かもしれません。elseもお忘れなく!

以上!

1
0
0

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
1
0