== log bre ++ 范围 常见 cnblogs col
求解大于某数的下一个素数问题,常见于求某一范围内的所有素数,第k个素数问题中,由于素数一定是奇数,而两个相邻奇数之间一定相差2,所以只要在奇数中查找即可:代码如下
- 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;
- }
- }
求解大于某数的下一个素数
来源: http://www.bubuko.com/infodetail-2297497.html