素数筛选法
2010-03-02 19:30
134 查看
思想是这样的:
比如求100,000以内素数个数,
定义一个bool型变量(c里不能定义bool型),bool prime[100001](长度比10,000大1);
当i%2==1时,prime[i]=true;否则,prime[i]=false;
i=3,j=2*i,对下标为3的倍数的prime[j]赋false;
i自增,重复第3步;
total=0; if(prime[i]) total++。
比如求100,000以内素数个数,
定义一个bool型变量(c里不能定义bool型),bool prime[100001](长度比10,000大1);
当i%2==1时,prime[i]=true;否则,prime[i]=false;
i=3,j=2*i,对下标为3的倍数的prime[j]赋false;
i自增,重复第3步;
total=0; if(prime[i]) total++。
memset(prime,true,sizeof(prime)); prime[0]=false; prime[1]=false; for(i=4;i<1300000;i+=2) prime[i]=false; for(i=3;i<1140;i+=2) if(prime[i]) for(j=i*2;j<1300000;j+=i) prime[j]=false;
相关文章推荐
- 筛选法求素数算法详解
- POJ 2689 Prime Distance【大区间素数筛选】【埃氏筛法】【经典题】
- CF:358C 暴力DP筛选素数预处理
- 简单的素数筛选法
- 杭电OJ——1164 Eddy's research I——素数筛选
- HDU 1299 素数筛选+求因子个数
- JS学习笔记2——利用filter()去除数组中的重复元素,利用filter()筛选出数组中的素数
- 筛选法求素数表,并标记素数位置和合数最大质数位置 HOJ 2136
- 素数筛选模板
- POJ-2635 The Embarrassed Cryptographer 万进制+素数筛选
- 九度OJ 教程52 素数筛选
- poj2689Prime Distance 素数筛选
- 筛选法求素数(求第t个素数是多少)
- 使用筛选法得出1~n之间素数
- ny24 素数距离的问题 筛选法求素数
- HDU_2136——最大质因数,素数筛选法
- POJ2689 - Prime Distance(素数筛选)
- 素数筛选法(prime seive)
- POJ 2689 Prime Distance (素数+两次筛选)
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions ( 素数、筛选)