求解大於某數的下一個素數問題,常見於求某一範圍內的全部素數,第k個素數問題中,因爲素數必定是奇數,而兩個相鄰奇數之間必定相差2,因此只要在奇數中查找便可:代碼以下spa
int NextPrime (int N) { if (N % 2 == 0) ++N; int i; bool NotPrime = false; for (; ; N += 2){ NotPrime = true; for (i = 3; i*i <= N; i+=2) if (N % i == 0) { NotPrime = true; break; } if (!NotPrime) return N; } }