令 Pi 表示第 i 个素数。现任给两个正整数 M≤N≤104,请输出 PM 到 PN 的所有素数。
输入格式:
输入在一行中给出 M 和 N,其间以空格分隔。
输出格式:
输出从 PM 到 PN 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。
输入样例:
5 27
输出样例:
11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103
代码实现:
import java.util.ArrayList;
import java.util.Scanner;
/**
* @author yx
* @date 2022-07-13 1:14
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int M=scanner.nextInt();
int N=scanner.nextInt();
int ans=0;
int i=2;
ArrayList<Integer> list=new ArrayList<>();
while (ans<N){
if(isPrime(i)){
ans++;
if(ans>=M)list.add(i);
}
i++;
}
int k=0;
for (int j = 0; j <list.size() ; j++) {
k++;
if(k%10!=1) System.out.print(" ");
System.out.print(list.get(j));
if(k%10==0) System.out.println("");
}
}
static boolean isPrime(int n){
for (int i = 2; i*i <=n ; i++) {
if(n%i==0)return false;
}
return true;
}
}