Fizz-Buzz問題
1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。
どうしてプログラマに・・・プログラムが書けないのか?Fizzを出すのは「3の倍数であって5の倍数でないとき」と仮定して解く。
Fizz-Buzz問題 - rubyco(るびこ)の日記
僕はこう書いた.
(1..100).each do |n| if n % 3 == 0 or n % 5 == 0 print "Fizz" if n % 3 == 0 print "Buzz" if n % 5 == 0 puts else puts n end end
ただ短く書いただけという印象.rubycoさんの場合,putsを一回しか呼んでないので,IOが少なくなって良いのかしら?
rubycoさんの,
if k % 3 == 0 and k % 5 == 0
の部分は
if k % 15 == 0
でも良いと思うんだが,如何なものか.