【问题描述】
输入一个正整数 n (2 ≤ n ≤ 100000),以从小到大的顺序输出所有比 n 小的素数。要求定义方法来判定一个正整数是否为素数。
【输入形式】
通过键盘输入一个整数 n。
【输出形式】
在控制台打印小于 n 的所有素数,数值之间用空格分隔,注意第一个数值的前面和最后一个数值的后面不要输出空格。
【样例输入】
10
【样例输出】
2 3 5 7
【样例说明】
程序找出所有小于 10 的素数为:2、3、5、7。
【问题描述】
输入一个正整数 n (2 ≤ n ≤ 100000),以从小到大的顺序输出所有比 n 小的素数。要求定义方法来判定一个正整数是否为素数。
【输入形式】
通过键盘输入一个整数 n。
【输出形式】
在控制台打印小于 n 的所有素数,数值之间用空格分隔,注意第一个数值的前面和最后一个数值的后面不要输出空格。
【样例输入】
10
【样例输出】
2 3 5 7
【样例说明】
程序找出所有小于 10 的素数为:2、3、5、7。
有帮助望采纳
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
n=sc.nextInt();
boolean[] isPrime = new boolean[n+1];
for(int i=2;i<isPrime.length;i++) {
isPrime[i]=true;
}
for(int i=2;i<isPrime.length;i++) {
if(isPrime[i]==true) {
for(int j=2;j*i<isPrime.length;j++) {
isPrime[j*i]=false;
}
}
}
for(int i=2;i<isPrime.length;i++) {
if(isPrime[i]==true) System.out.print(i+" ");
}
}
}