java:用户输入一个整数 n(不大于 100000), 用“筛选法”以 5 个一行输出 1 到 n 之间的所有质数。

2025-04-13 22:18:53
推荐回答(1个)
回答1:

import java.util.Scanner;

public class Test {
public static void main (String[] args) {
Scanner sc=new Scanner(System.in);
byte[] bs=new byte[100001];
int n,t,c=1;

n=sc.nextInt();
t=(int)Math.sqrt(n)+1;
for(int i=2;i if(0==bs[i])
for(int j=i+1;j<=n;j++)
if(0==bs[j]&&0==j%i) {
bs[j]=1;
c++;
}
}
t=0;
c=n-c;
for(int i=2;i<=n;i++) {
if(0==bs[i]) {
System.out.printf("%s",i);
t++;
if(0==t%5 || t==c)
System.out.println();
else
System.out.print(',');
}
}
sc.close();
}
}