Cozy Ozy このページをアンテナに追加 RSSフィード

2007-02-25 ふぃづばづ

[][]ふぃづばづ ふぃづばづを含むブックマーク

http://golf.shinh.org/p.rb?FizzBuzz

なんか3の倍数とか5の倍数でふぃづばづ言う遊び。相変わらずRubyのセンスが無いのですが、他の言語ではピピンときました。

  • pl
print'Fizz'x!($_%3).Buzz x/0|5$/||$_,$/for 1..100

49B。結構嬉しい。

(追記)48Bでけた。

print+(Fizz)[$_%3].(Buzz)[$_%5]||$_,$/for 1..100

  • js
for(i=0;i++<100;print(i%5?a||i:a+"Buzz"))a=i%3?"":"Fizz"

56B。はじめてのjs

  • rb
1.upto(?d){|i|v=i%3<1?"Fizz":"";puts i%5<1?v+"Buzz":v>""?v:i}

61B。センス無し夫。

(追記)頑張った。56B

?d.times{|n|n%3>1&&s=:Fizz;puts n%5>3?"#{s}Buzz":s||-~n}

  • c
main(i)
{
  for(;i<101;puts(i++%5?"":"Buzz"))
    printf(i%3?i%5?"%d":0:"Fizz",i);
}

74B。最初に思いついたコードそのまま。printfに0を渡しても落ちない。

(追記)73Bのコードはあまりに変態的なので、ショートコーディング本の中で解説しました(宣伝 ̄ー ̄)

  • cpp
#import<ios>
main(int i){
  for(;i<101;puts(i++%5?"":"Buzz"))
    printf(i%3?i%5?"%d":0:"Fizz",i);
}

91B。Cのを書き変えただけなのでまだいけるのかも。

  • その他

飽きた。

Rubyのゴルフセンスを磨くにはどうしたら良いのでしょう。。。

nanagyounanagyou 2007/02/25 18:08 >printfに0を渡しても落ちない。
うちの環境(FreeBSD+gcc)だと落ちてしまいます。
他にも puts/gets 周りでも動作が違っています。
公開されているものと同一環境を用意してみようかなぁ。でも、Linux は苦手 orz

穴ゴルの Checker をいちいち試すのも面倒&迷惑ですしね・・・

OzyOzy 2007/02/25 18:54 コンパイラ言語は事前に処理系について調べることが多いところが面倒というか面白いというか。。。ですね。

shinichiro_hshinichiro_h 2007/02/25 19:02 めんどうはともかく、迷惑では全然無いのでガシガシやっちゃってもらって問題ありませんです。

nanagyounanagyou 2007/03/01 00:16 Ubuntu を入れてしまいましたが、慣れるまでしばし checker にお世話になります。