任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。
package test; import java.util.Scanner; /* * 查找组成一个偶数最接近的两个素数 * * */ public class exam22 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int num = scanner.nextInt(); int n1 = 0, n2 = 0;// 记录最接近素数对 for (int i = num / 2; i > 2; i--) { if (fun(i)) { if (fun(num - i)) { n1 = i; n2 = num - i; break; } } } System.out.println(n1); System.out.println(n2); } scanner.close(); } public static boolean fun(int n) { boolean b = true; for (int i = 2; i <= Math.sqrt(n); i++) { while (n % i == 0) { b = false; break; } } return b; } }