描述 |
|
---|---|
知识点 | 数组 |
运行时间限制 | 10M |
内存限制 | 128 |
输入 | 输入两个正整数 |
输出 | 输出一个等差数列 |
样例输入 | 1 10 |
样例输出 | 3 5 7 |
import java.util.*;
public class Main{
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int m=sc.nextInt();
int n=sc.nextInt();
int start = 0; // 最长等差数列的起始值
int maxD = 0; // 最长等差数列的等差
int d = 0; // 等差
int cur = 0; // 当前等差数列的长度
int length = 0; // 等差数列的最终长度
for (int i = m; i <= n; i++) {
if (sushu(i)) {
d = 1;
while (i + d <= n) {
cur = 0;
while (i + cur * d <= n && sushu(i + cur * d)) {
cur++;
}
if (cur > length || cur == length && d > maxD) {
start = i;
maxD = d;
length = cur;
}
d++;
}
}
}
for (int i = 0; i < length-1; i++) {
System.out.print(start + i * maxD+" ");
}
System.out.println(start + (length-1) * maxD);
}sc.close();
}
private static boolean sushu(int num){
if(num<2){return false;}
for(int i=2;i*i<=num;i++){
if(num%i==0){return false;}
}return true;
}
}