FizzBuzz
なんか流行ってるらしい。
1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。
元ネタは、どうしてプログラマに・・・プログラムが書けないのか?というエントリーらへんからきてるらしい。TAKESAKOさんとこで知った。
できる限り短く書く勝負らしいですが、一時期流行ったPerlワンライナーにも乗り遅れた私にはどうにも…。自力で導き出したのはここまで。長いっす…。
perl -le 'print $_%15==0?"FizzBuzz":$_%5==0?"Buzz":$_%3==0?"Fizz":$_ for 1..100'
ちなみにTAKESAKOさんのは、これ。
perl -e'die+map{(Fizz)[$_%3].(Buzz)[$_%5]||$_,$/}1..1e2'
人の書いたのを見てるとスゴイ参考になるなぁ。