超初級プログラミング問題 fizzbuzzを解いてみる

プログラミング問題を解いて見ようと思います。

プログラミング問題は、プログラマーの技術を測れる物らしいのですね。

例えば、これレベルが解けたらなかなかのレベルだ!!!とか、

こんなのも解けないのなら初心者だな!!!とか。

f:id:fedox-toshi:20180613125017j:plain

 

まぁ、初心者なんだから解けなくても当たり前ですよね.......

そこで、今回はfizz buzz問題を解いて見ようと思います。

超有名問題みたいですよ♪♪♪

 

fizzbuzz問題

1〜100までの数字を出力してください。ただし、「3の倍数」のときは数字の代わりに文字列でfizz、「5の倍数」のときはbuzz、両方の倍数である「15の倍数」のときはfizzbuzzと出力。

 

 なるほど、ちなみに出力結果は以下のようになれば正解です。

1
2
fizz
4
buzz
fizz
7
8
fizz
buzz
11
fizz
13
14
fizzbuzz
16
17
fizz
19
buzz
fizz
22
23
fizz
buzz
26
fizz
28
29
fizzbuzz
31
32
fizz
34
buzz
fizz
37
38
fizz
buzz
41
fizz
43
44
fizzbuzz
46
47
fizz
49
buzz
fizz
52
53
fizz
buzz
56
fizz
58
59
fizzbuzz
61
62
fizz
64
buzz
fizz
67
68
fizz
buzz
71
fizz
73
74
fizzbuzz
76
77
fizz
79
buzz
fizz
82
83
fizz
buzz
86
fizz
88
89
fizzbuzz
91
92
fizz
94
buzz
fizz
97
98
fizz
100

コードとしては、while 文(繰り返し)を使いますよね?

正直初心者には結構な重労働(頭の)でしたよ。ホント

 

感想としては、このような処理を書くことを悩んで悩んで、組み立てると頭がよくなる気がしましたww

私は、初見では解けずに答えを見た派です。

 

下に、解答を載せておきますのでよければ見てみては?? 

解けなくても、ええんやで〜

解答1を表示する
num = 1 
while num <=100 do
if num %15 == 0
puts "fizzbuzz"
elsif num %3 == 0
puts"fizz"
elsif num % 5 == 0
puts "buzz"
else puts num
end
num = num+1 end


解答2を表示する
num = 1 
while num <=100 do
if (num %3 == 0) &&(num % 5 == 0)
puts "fizzbuzz"
elsif (num %3) == 0
puts"fizz"
elsif (num % 5) == 0
puts "buzz"
else puts num
end
num = num+1 end

 

f:id:fedox-toshi:20180622210546j:plain