http://projecteuler.net/index.php?section=problems&id=7
以下代码将枚举10001个质数,耗时16ms
Example for enum 10001 prime numbers in 16ms.
int res[10001],Pos1=2;
res[0]=2;
res[1]=3;
res[2]=5;
for (int Enum=5;Pos1<10001;Enum++)
{
BOOL wanted=1;
for (int Pos2=0;res[Pos2]<=sqrt(Enum);Pos2++)
{
if (!(Enum%res[Pos2]))
{
wanted=0;
break;
}
}
if (wanted)
{
res[Pos1]=Enum;
Pos1++;
}
}
printf("%i",res[10000]);
沒有留言:
張貼留言