【发布时间】:2022-01-16 03:40:35
【问题描述】:
编写一个程序,生成并打印前 n 个正整数中的前 m 个素数。
示例: n=10,m=2 在 1-10 个自然数的范围内,我必须生成 m=2(2 个正素数) 输入:10 2 输出:2 3
我的代码: 注意=尝试用 java 回答
import java.util.Scanner;
class Main5{
static Scanner sc=new Scanner(System.in);
static boolean isPrime(int n){
//since 0 and 1 is not prime return false.
if(n==1||n==0) return false;
//Run a loop from 2 to n-1
for(int i=2; i<=n/2; i++){
// if the number is divisible by i, then n is not a prime number.
if(n%i==0)return false;
}
//otherwise, n is a prime number.
return true; }
public static void main (String[] args)
{
int n=sc.nextInt();
int m=sc.nextInt();
//check for every number from 1 to N
for(int i=1; i<=n; i++){
if(i==m){
break;
}
//check if current number is prime
if(isPrime(i)) {
System.out.print(i + " ");
}
}
}
}
【问题讨论】:
标签: java performance primes solver prime-factoring