VIP de Programming

   

気になった発言とか簡易まとめ
ある程度まとまったらwikiにうpしよう!
レス集

Code Golf その2

Code Golfに関するブログを読んでたら、
 > for を main()に…
なんて記述があったのでパクってみた。

mainの中身全体をくくるforの代わりに、mainを再帰することでループを実現する。
で、できたコードがこれ。
ちなみに問題はこれ → http://golf.shinh.org/p.rb?Smileys+Triangle

j;
main(i){
  for(j=0;j<i;j++)
    printf(j<3?":\0-\0)"+j*2:"))");
  puts("")&&i<34&&main(i+1),exit(1);
}

ちぢまらねぇーーーーーーーーー
iが34までいったところで終了せにゃならんから、どうしても i<34  exit(1) は外せない(と思う)んだけど、
それだけですでに for(;i<34;) と同じだけ文字数がかかる罠。
iをグローバルにして main の引数をなくしてもほとんど縮まらず。まず main が4文字もあるし。

さらになにをやってるのかくそ分かりにくい。最後の一行なんかまさにカオス。
明日見たらもう分からんなこれ。

Permalink
Comments (View)
blog comments powered by Disqus