令 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
java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n=Integer.parseInt(st.nextToken());
int m=Integer.parseInt(st.nextToken());
long start=1,k=0;
for(int i=0;i<n-1;i++) {
while(!isPrime(start)) {
start++;
}
start++;
}
for(int i=0;i<m-n+1;i++) {
while(!isPrime(start)) {
start++;
}
k++;
if(k%10==1&&k!=1) {
System.out.println();
}
if(k%10==1) {
System.out.print(start);
}else {
System.out.print(" "+start);
}
start++;
}
System.out.println();
}
public static boolean isPrime(long num) {
if(num<=1) return false;
if(num==2||num==3||num==5||num==7) {
return true;
}
for(int i=2;i<Math.sqrt(num)+1;i++) {
if(num%i==0) return false;
}
return true;
}
}