0
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 3 years have passed since last update.

Ruby FizzBuzz問題 応用編

0
Posted at

FizzBuzz応用問題

FizzBuzzという言葉遊びがあります。
1から数を数えていく際に、それが3の倍数だったら「Fizz」, 5の倍数だったら「Buzz」と言う、というものです。ただし、15の倍数の時は「FizzBuzz」と言います。

例) 1, 2, Fizz, 4, Buzz, Fizz ,,,,

このFizzBuzzを再現できるメソッドを作成してください。
ただし、いくつまでカウントするか、引数で指定できるものとします。

  • ヒント
    範囲を指定して繰り返しをする場合は、範囲演算子(..)を使用します。
    以下のように使用します。
(開始する値..終了する値)

具体的には以下のように使用できます。

# 1~6までの範囲を指定して、繰り返し表示
(1..6).each do |num|
  puts num
end

模範解答

def fizzbuzz(max_num)
  (1..max_num).each do |num|
    if num % 15 == 0
      puts "FizzBuzz"
    elsif num % 3 == 0
      puts "Fizz"
    elsif num % 5 == 0
      puts "Buzz"
    else
      puts num
    end
  end
end

puts 'いくつまで数えますか?'
num = gets.to_i
fizzbuzz(num)

解説

範囲演算子「 .. 」を使用して1から指定された数字(max_num)まで繰り返し処理を行います。
その次に、条件分岐であるif文の条件に沿って「Fizz」「Buzz」「FizzBuzz」の処理を行います。

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