素数打表
2013-02-23 18:24
232 查看
#include <iostream> #include <cstring> using namespace std; #define maxn 5000008 bool A[maxn];//一 int main() { memset(A,0,sizeof(A)); for(int i=2;i*i<=maxn;i++)//二 { if(!A[i]) { for(int j=i*i;j<=maxn;j+=i)//三 { A[j]=1; } } } for(int i=2;i<=5000000;i++) { if(!A[i]) { printf("%d\n",i); } } return 0; } 一:本来我用int型。注意,只需要表示0和1的得用bool~~ 二:之力只需要枚举到j*j<=maxn,因为这个循环是为了筛掉非质数,如果存在一个非质数a 则a<maxn,显然在j*j<=a里,必有a的因子,故已被标记 三:这里的k从j*j开始,是个小优化,因为如果存在非质数a<j*j,那么根号a小于k,在根号a 前的数肯定有a 的因子,所以a 已经被标记
相关文章推荐
- 【C++心路历程6】打表大法好 素数没烦恼
- HDU 2521 反素数【打表】
- hdu4542 小明系列故事——未知剩余系(反素数打表待改!!不会!!)
- HDU1319 Prime Cuts 【素数打表】
- UVA1213 Sum of Different Primes(素数打表+dp)
- 素数打表
- URAL - 2070 Interesting Numbers 素数打表+数学定理
- 高效素数打表
- poj 2379 连续素数和 打表
- hdu 1431 素数回文(打表)
- Prime Gap--素数打表
- 下午整理的 素数打表 大数与整型相乘 求余模板
- GCD&LCM&素数打表&快速幂
- 2017-07-25 51nod 1189 素数打表 素数筛 质因数分解
- 链家笔试:素数打表
- nyoj 素数距离问题 (打表)
- NYOJ 26 孪生素数问题 打表法
- CodeForces - 237C Primes on Interval (素数打表&二分)
- HDOJ(HDU) 2161 Primes(素数打表)
- poj 2480 Longge's problem 欧拉函数+素数打表