题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while(in.hasNext()){
int num=in.nextInt();
int[] pair = new int[2];
int difference = Integer.MAX_VALUE;
List<Integer> list = new ArrayList<>();
for(int i=2 ; i<=num-2 ; ++i){
if(isSuShu(i)){
list.add(i);
}
}
//System.out.println(list);
for(int i=0 ; i<list.size() ; ++i){
for(int j=i ; j<list.size() ; ++j){
if(list.get(i)+list.get(j) == num){
if(difference>list.get(j)-list.get(i)){
difference = list.get(j)-list.get(i);
//System.out.println(difference);
pair[0]=list.get(i);
pair[1]=list.get(j);
}
}
}
}
System.out.println(pair[0]);
System.out.println(pair[1]);
}
}
public static boolean isSuShu(int num){
if(num == 2){
return true;
}
for(int i=3 ; i<=num/2 ; ++i){
if(num%i==0){
return false;
}
}
return true;
}
}
查看5道真题和解析