golfの世界にも触れてみようと思って、チャレンジしてみた。
とりあえずこの問題を。
anarchy golf - paper sizes
一晩考えてみたけど、この程度しか思いつかない ><
$c=$a,printf"A%-2d%5dmm x%5dmm ",$_,$a=$b/2||841,$b=$c||1189for 0..10
69B orz
現時点でPerlは61Bがトップ。
何かやり方が根本的に違うのかなぁ。むぅ…難しい けど面白い
追記
printf"A%-2d%5dmm x%5dmm ",$_,($a||=1682)/2,$a/=1.414for 0..10
62B! あと1歩で追いつけるぞ…
こういう反則的なやり方がGolfの技術なのかなw
追記
printf"A%-2d%5dmm x%5dmm ",$_,($a||=1683)/2,$a*=.707for 0..10
61B!! ktkr
0.707..のような少数は整数部分が0なら省略できるw
sqrt(2)/2 = 0.707106781186548だけど、3桁目までで何とかずれずに使える。
1189*sqrt(2)は1681.4999...とかでどう考えても1681か1682にすべきところを、あえて1683にすることで理想の出力が得られる。
もう一人の61BのヒトはStatisticsが違うから違うやり方なんだろうなぁ。他にどういう方法があるんだろう。。
追記
余計な演算子使わずに普通に最初に代入して使えばよかった。アホかw
追記
ちょっと変則的なカンジで60B。
printf"A%-2d%5dmm x%5dmm ",$a++,$b/2,$b*=.707for($b=1683)x11
しかし59Bは思いつかない…!!