2011年5月20日金曜日

anarchy golf - EKG Sequence解答編

anarchy golf - EKG Sequence

いや~、どうやらユークリッド互助法に拘ったのがいけませんでした。
単純に除数をインクリメントすべきだったかな。最初はそうしてたんですが。

僕の解答がこれ。
s[200];m,n,e,c;main(b,a){for(;c<100;c<2||!s[b]&&n-1?b=s[b]=printf("%d\n",a=b),c++:b++)for(m=a,n=b;e=m%n;n=e)m=n;}

トップのnotさん
p;q[];main(a,c){for(;a-53;)q[p]|a%c+p%c?c=c>2?c-1:++p:(q[a=p]=p=printf("%d\n",c=a));}

printf周りはほぼ一緒ですね。
配列の添え字はなくしても大丈夫なのは確認してましたが、付け焼刃なのでそのまま。
僕は100個カウントしてるけどnotさんのは100個目の答えでループ終了。

やっぱりうまいですね。
シンプルなのでは同率1位取れてるんだけどなぁ。

次はFunction call expression とSQRです

0 件のコメント:

コメントを投稿