カメヲラボ

主にプログラミングとお勉強全般について書いてます

ふぃづばづ

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のゴルフセンスを磨くにはどうしたら良いのでしょう。。。