鍋あり谷あり

テーマを決めずに適当に書いています。

剰余なしで FizzBuzz

http://b.hatena.ne.jp/m-naze/20070509

剰余を使うような人は願い下げだ

という意見があるようなので、こんなのを:

(1..100).zip(['','','Fizz']*34,(['']*4<<'Buzz')*20).each{|i|/\d+$|\D+/=~i.to_s;puts$&}

86文字。
ゴルフ的には少なくともあと1文字減らせることを知っているが、まあそう詰めなくても、と思って。

念のため、読みやすいのも書いておこう:

(1..100).zip(
  [ '', '', 'Fizz' ]*34,
  [ '', '', '', '', 'Buzz' ]*20
).each{ |i|
  /\d*$|\D+/ === i.to_s
  puts $&
}

大差ないか。

C/C++ でも書こうと思ったんだが、いい案がない。

あ。ブックマークページから補足されやすいように
http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm
も書いておくか。