任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。
题解:
- 因为是素数之间的判断,所以二话不说先写一个判断素数的方法
- 题目明确说: 输出组成指定偶数的两个素数差值最小的素数对,那我们就可以从中间向两边进行判断

假装这两个图是连起来的

import java.util.*;
class Main {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()) {
int n = scanner.nextInt();
//向两边进行查找
for(int i = n / 2; i > 0; i --) {
if(isPrime(i) && isPrime(n - i) ) {
System.out.println(i);
System.out.println(n - i);
break;
}
}
}
}
//判断素数
public static boolean isPrime(int num) {
for(int i = 2; i < num; i ++) {
if( num % i == 0) {
return false;
}
}
return true;
}
}

京公网安备 11010502036488号