题目描述
任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对
输入描述
输入一个偶数
输出描述
输出两个素数
输入例子
20
输出例子
713
算法实现
import java.util.Scanner;/** * Declaration: All Rights Reserved !!! */public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);// Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt")); while (scanner.hasNext()) { int n = scanner.nextInt(); System.out.println(findPrime(n)); } scanner.close(); } private static String findPrime(int n) { for (int i = n / 2; i >= 2; i--) { if (isPrime(i) && isPrime(n - i)) { return i + "\n" + (n - i); } } return null; } private static boolean isPrime(int n) { if (n < 2) { return false; } int sqrt = (int) Math.sqrt(n); for (int i = 2; i <= sqrt; i++) { if (n % i == 0) { return false; } } return true; }}