我期待着改進我的算法,找到給定數字右邊的下一個素數。 我到目前爲止是這樣的:經常跑時查找下一個素數算法
int NextPrime(int a)
{
int i, j, count, num;
for (i = a + 1; 1; i++)
{
for (j = 2, count = 0; j <= i; j++)
{
if (i%j == 0)
{
count++;
}
}
if (count == 1)
{
return i;
break;
}
}
}
芹苴這個算法是不是efficent。 有人可以提供有關如何加快或改進算法的建議。
http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes – senfen
的兩個基本速度起坐由2遞增J所示僅奇數(測試2後從3開始,)除2以外的數字是主要數字。此外,只檢查數字的平方根(因爲任何數字的因素之一<=平方根)。 – borrible
另請參見[此相關問題](http://stackoverflow.com/q/453793/2994596) – SleuthEye