naiの日記

ソフトウェアエンジニアから放射線科診断医にジョブチェンジしました。趣味のことを書きます。

301. Palindromic prime

http://golf.shinh.org/p.rb?Palindromic+prime
終了しました。

私のアルゴリズムはnnさんと同じですね。

k,n,p;main(i){for(;p=++i<2e4;k%=i-p||printf("%d\n",i))for(n=i;n?k=k*10+n%10:k%++p;n/=10);}

nが非0の間は10進数で逆にした数字kを作り、nが0になったら2から順に割り素数判定をしています。
このままだとiが10のべき乗のときk=1となり無限ループに陥ってしまいますが、それらの数は一の位が0なので、一回目のループでk=0となりループを抜けます。
「一の位が0の回文数は存在しない」ということを利用しています。


それにしても、3人がほぼ同時に90Bを通し、10日近く更新されずそのまま終了とは。
char pyramidに続きなかなか面白い競技過程でした。