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

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

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);

        // 注意 hasNext 和 hasNextLine 的区别

        while (in.hasNextInt()) { // 注意 while 处理多个 case

            int a = in.nextInt();

            int min = getMinNum(a);           

            System.out.println((a-min)/2);

            System.out.println((a+min)/2);

        }

    }

//取 两个素数的最小差值

    private static int getMinNum(int n){

        int min = 1000;

        for(int i=1;i<=n/2;i++){

            if(isPrime(i) && isPrime(n-i)){

                if(n-i-i<min){

                    min = n-i-i;

                }

            }  

        }

        return min;

    }

//判断一个数是否为素数

    private static boolean isPrime(int n){

        Boolean b = true;

        for(int i=3;i<n;i++){

            if(n%i==0){

                b = false;

            }

        }

        return b;

    }

}

全部评论

相关推荐

牛客279957775号:铁暗恋
点赞 评论 收藏
分享
ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务