package 质数的输出; import java.util.*; public class 质数的输出 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数n:"); int n = sc.nextInt(); boolean[] b = new boolean[n+1];//初始化一个数组(boolean类型) for(int i = 0;i < b.length;i++){//初始化,所有值都为true b[i]=true; } for(int j = 2;j < b.length;j++){//进行b.length轮筛选 if(b[j]){//j为true,也就是b[j]为质数 //把j的倍数设为false(因为一个数如果是质数,那它的倍数一定不是质数) for(int k = j*2;k < b.length;k+=j){ b[k]=false; } }else{//否则,重新循环 continue; } } //遍历数组 for(int z = 2;z < b.length;z++){ if(b[z]){//如果b[z]为true,则输出质数z System.out.print(z + "\t"); // System.out.print(b[z] + "\t");//测试,打印此元素是否是质数 } } } }
原文:https://www.cnblogs.com/JAYPARK/p/10502921.html