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 

でも良いと思うんだが,如何なものか.