质数(素数)判定算法
2015-07-23 23:54
501 查看
基本判断思路:
在一般领域,对正整数n,如果用2到之间的所有整数去除,均无法整除,则n为质数。
质数大于等于2 不能被它本身加1的数整除
bool isPrime(unsigned long n) {
if (n <= 3) {
return n > 1;
} else if (n % 2 == 0 || n % 3 == 0) {
return false;
} else {
for (unsigned short i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
}
相关文章推荐
- [数论]POJ 3641/HOJ 2700 Pseudoprime numbers 快速幂
- 第k极值
- 关于素数:求不超过n的素数,素数的判定(Miller Rabin 测试)
- vijos P1200 ganggang的烦恼
- 判断一个数是否为素数
- nefu 582 素数判定(素数筛法和基本法双排)
- 几种素数判定方法
- 判断18位以内的数是否为素数 较大数质数判定
- 素数判定算法
- 【算法】米勒拉宾素数测试
- POJ 2262 Goldbach's Conjecture
- 用户输入一个整数,然后显示所有小于或等于该数的素数!
- 判断是否是素数
- 几种素数的判定方法
- POJ 2262 (简单素数判定 ,需要优化)
- 素数的判定
- 素数判定
- 【BZOJ3667】Rabin-Miller算法(Pollard_pho算法)
- 杭电2012
- Jquery -- 常用选择器 和 div/select/radio/checkbox的使用