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