java:用户输入一个整数 n(不大于 100000), 用“筛选法”以 5 个一行输出 1 到 n 之间的所有质数。
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<t;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();
}
}
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<t;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();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询