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
も書いておくか。