题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
prime();
}
/**
* HJ60.查找组成一个偶数最接近的两个素数
*/
private static void prime() {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int value = num;
Map<Integer, List<Integer>> map = new HashMap<>();
for (int i = 1; i < num; i++) {
if (!isPrime(i) || !isPrime(num - i)) {
continue;
}
int tmp = Math.abs(i - (num - i));
if (tmp < value) {
value = tmp;
map.put(value, Arrays.asList(i, num - i));
}
}
List<Integer> lst = map.get(value);
System.out.println(lst.get(0));
System.out.println(lst.get(1));
}
private static boolean isPrime(int i) {
for (int j = 2; j < i; j++) {
if (i % j == 0) {
return false;
}
}
return true;
}
}


