用java编程:输入一个正整数n,输出n以内的所有素数。代码怎么写?

2024-10-28 07:01:22
推荐回答(3个)
回答1:

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("请输入一个正整数n");
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        for (int i = 2; i <= n; i++) // 1不是素数,所以直接从2开始循环
        {
            int j = 2;
            while (i % j != 0) {
                j++; // 测试2至i的数字是否能被i整除,如不能就自加
            }
            if (j == i)
            //当有被整除的数字时,判断它是不是自身,若是,则说明是素数
            {
                System.out.println(i); // 如果是就打印出数字
            }
        }
    }

}

回答2:

123456789101112131415161718192021public class HelloWorld { public static void main(String[] args) { System.out.println("请输入一个正整数n"); Scanner input = new Scanner(System.in); int n = input.nextInt(); for (int i = 2; i <= n; i++) // 1不是素数,所以直接从2开始循环 { int j = 2; while (i % j != 0) { j++; // 测试2至i的数字是否能被i整除,如不能就自加 } if (j == i) //当有被整除的数字时,判断它是不是自身,若是,则说明是素数 { System.out.println(i); // 如果是就打印出数字 } } } }

回答3:

public class PrimeNumber{
public static void main(String args[]){
java.util.Scanner scan=new java.util.Scanner(System.in);
int n=scan.nextInt();

for(int i=2; i<=n; i++){
boolean b=true;
for(int j=2; j if(i%j==0){
b=false;
}
}
if(b){
System.out.print(" "+i);
}
}

}
}