任意一个偶数(大于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; } }