数论计划—1(素数的判断)
2016-09-05 13:29
369 查看
Brother Liao的数论计划 NO.1 : 素数判断。
在这个地方循环很显然需要从2开始循环而不是1(这很显然),然后循环的限制就是i要小于sqrt(x)。
证明:
因为如果x的两个因数,假设一个因数x1一个小于x,那么x1一定小于sqrt(x),所以如果我们只需要循环到sqrt(x),如果还没有找到的话,很显然,x就是一个素数了
在这个地方循环很显然需要从2开始循环而不是1(这很显然),然后循环的限制就是i要小于sqrt(x)。
证明:
因为如果x的两个因数,假设一个因数x1一个小于x,那么x1一定小于sqrt(x),所以如果我们只需要循环到sqrt(x),如果还没有找到的话,很显然,x就是一个素数了
bool pd(int x) { if(x==1)return false;//这很显然 if(x==2)return true;//这也很显然 for(int i=2;i*i<=x;i++) { if(x%i==0)return false;//如果可以被整除,就不是素数了 } return true;//如果到这里还没有被某个数整除的话,很明显就是素数了 }
相关文章推荐
- 1.m分解阶乘之和
- 2.几种递推数
- 3.欧拉函数
- 4.快速幂模m算法
- 5.扩展欧几里得&&中国剩余定理
- 6.数论_web
- Project Euler Problem 387 - Harshad Numbers - 深度优先
- 编程之美2015初赛A
- HDU 3388 与m,n 互质的第k个整数
- 数论题集
- 原根
- 阶与原根学习笔记
- HDU 1299 Diophantus of Alexandria
- Leftmost Digit(HDU 1060)
- Rightmost Digit(HDU 1061)
- ZS and The Birthday Paradox
- Python-在奇数中寻找素数
- ZOJ 2674 Strange Limit 欧拉定理
- LeetCode-Palindrome Number
- 素数判定的一些讨论(Miller-Rabin算法)