题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
http://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
思路:从中间往两边找,一旦发现两个数都是素数,则输出。这两个数要保持和为目标值。
public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int a = in.nextInt(); int l=a/2;//左边值 int r=a/2;//右边值 while(l>=2){ if(isPury(l,r)){//若两个数都是素数 System.out.println(l); System.out.println(r); break; }else{//l与r向两边扩展,但同时保持和为a。 l--; r=a-l; } } } } //判断两个数是否都是素数。 public static boolean isPury(int x1,int x2){ for(int i=2;i<x1;i++){ if(x1%i==0){ return false; } } for(int j=2;j<x2;j++){ if(x2%j==0){ return false; } } return true; }