くどいけどProject Euler 97

もうちょっとでLV2です.先は長い.
なんだか生活に支障が出てきたので解くスピード下げようかと...


とりあえず簡単な問題から解いていく方針に変更.
指標は解いたユーザー数.
97番は90番台なのにやたら解いた人が多かったので見てみたところ,とても簡単.
でっかい素数の下10桁を取得する.

typedef unsigned long long uint64;
typedef uint64 natural ;

natural f97()
{
	natural n=28433;
	for(natural i=1; i<=7830457; ++i)
	{
		n*=2;
		n%=10000000000;
	}
	++n;
	n%=10000000000;
	return n;
}


ちなみに新しい問題が作られて(238番だっけ),速攻で解かれているみたいですが,
僕はヒープ使い果たしたあたりで一旦やめました.もっとうまい方法があるのかぁ.すごいなぁ.