题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int even = in.nextInt(); int a = even/2; for(int h=a;h>0;h--){ if(isPrime(h)&&isPrime(even-h)){ System.out.println(h); System.out.println(even-h); break; } } } private static boolean isPrime(int i){ boolean isPrime = true; if(i==1||i==2){ isPrime = true; } else { for(int j=2;j<=Math.sqrt(i);j++){ if(i%j==0){ isPrime = false; break; } } } return isPrime; } }
- 可以从中间开始往两边延伸计算是否满足条件, 得到的值即为差值最小的
- 注意素数的计算: 1应该不算质数