LoginSignup
7
6

More than 5 years have passed since last update.

Ruby初心者の課題 Fizz_Buzz問題 while構文 if文

Last updated at Posted at 2018-07-15

Q1〜100までの数字をターミナルに出力してください。ただし、「3の倍数」のときは数字の代わりに文字列でFizzと、「5の倍数」のときはBuzz、両方の倍数である「15の倍数」のときはFizzBuzzと出力してください。

この問題を解くにあたっての雛形↓

qiita.rb
def fizz_buzz
    # ここに処理を書き加えてください
  end

  fizz_buzz

解答↓

qiita.rb
def fizz_buzz
  num = 0
  while num < 100 do
       num += 1 
    if num % 15 == 0
      puts "Fizz_Buzz"
    elsif num % 3 ==0
      puts "Fizz"
    elsif num % 5 ==0
      puts "Buzz"
    else 
      puts num
    end

    end
  end

  fizz_buzz

①while構文を使って1~100までの繰り返し処理を行わせる。

qiita.rb
while 条件式  do 
 #繰り返し処理
end

②if文を使って条件分岐をする。

qiita.rb
if 条件式 
#処理
end

15の倍数の時〜3の倍数の時〜5の倍数の時〜の順で。
※15の倍数は3の倍数とも5の倍数とも言えるので1番最初の条件として与える必要がある。

つまり、

qiita.rb
if (num % 15 == 0)
 # 3の倍数かつ5の倍数のとき=15の倍数のとき
  end

qiita.rb
 if (num % 3 == 0) && (num % 5 == 0) 
# 3の倍数かつ5の倍数のとき
  end

に書き換えることができる。

実行結果↓

$ ruby fizbuzz.rb 
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
Fizz_Buzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
Fizz_Buzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
Fizz_Buzz
46
47
Fizz
49
Buzz
Fizz
52
53
Fizz
Buzz
56
Fizz
58
59
Fizz_Buzz
61
62
Fizz
64
Buzz
Fizz
67
68
Fizz
Buzz
71
Fizz
73
74
Fizz_Buzz
76
77
Fizz
79
Buzz
Fizz
82
83
Fizz
Buzz
86
Fizz
88
89
Fizz_Buzz
91
92
Fizz
94
Buzz
Fizz
97
98
Fizz
Buzz
7
6
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
7
6