筛选法求素数
2017-08-15 22:43
197 查看
package 素数总结; import java.util.Arrays; /** * @author wangpei * @version 创建时间:2017年8月15日 下午9:16:18 * 求1-n间的素数个数 * 素数:只有1和他本身两个因子的数字 * 不包含1 * * 筛选法:若一个数是素数,则其倍数必不是素数,标记其倍数为非素数,最终得到的未被标记的即为素数 */ public class 求素数的个数 { public static void main(String[] args) { test1(10); } public static void test1(int n){ int []flag=new int[n+1]; Arrays.fill(flag, 0); flag[0]=1; flag[1]=1; for (int i = 2; i < n+1; i++) { if(flag[i]==0){ for(int j=i;i*j<n+1;j++) flag[i*j]=1; } } for (int i = 0; i < n+1; i++) { if(flag[i]==0) System.out.print(i+" "); } } }
还有一种比较笨的办法就是,判断n是不是素数,判断2到根号下n是不是整除n,若存在整除的,则非素数
相关文章推荐
- 筛选法 求素数 一个数的所有因素和
- 素数筛选法
- Php中的素数筛选
- 素数筛选法
- 筛选法查找1000以内的素数c++代码实例及运行结果
- 素数筛选法
- hdu 1695 GCD (素数筛选 + 欧拉函数 + 容斥原理)
- HDOJ---1431 素数回文[素数筛选+ltoa函数(将长整形转换成字符数组)+打表]
- poj3292 素数筛选
- 用筛选法求100以内的素数
- 数学-筛选素数
- 素数筛选(转载)
- poj2635-大进制转化+同余定理+素数筛选
- c语言筛选法求素数
- 素数快速筛选法
- poj 2689 Prime Distance (大素数的筛选)
- 埃氏筛选与线性筛选求素数
- 素数筛选 模版
- 素数筛选法
- Java之用厄拉多塞筛选法求n以内的所有素数