您的位置:首页 > 其它

素数筛法

2015-08-12 10:11 288 查看

题目描述

输出100以内的所有素数。

题目分析

素数,又叫质数,是只能被1和自身整除的大于1的正整数。

首先定义a[i]=1,初始化整个数组,全部初始化为1,第二步双重循环,从2开始,所有2的倍数都标记为0,所有3的倍数也标记为0;然后是4,但因为4已经被标记为0了,跳过;接着是5,直到所有的数都循环过一遍。

代码实现

public static void main(String[] args) {
int[] a = new int[101]; // a[i]为1时,i为素数
for (int i=1; i<=100; i++) {
a[i] = 1;
}

for (int i=2; i<=100; i++) {
if (a[i] != 0) {
for (int j=i+i; j<=100; j=j+i) {
a[j] = 0;
}
}
}

for (int i=2; i<=100; i++) {
if (a[i] != 0) {
System.out.println(i);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: