题解 | #查找组成一个偶数最接近的两个素数#

查找组成一个偶数最接近的两个素数

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;
    }
全部评论

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务