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

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

https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9

import java.io.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String str;
        while ((str = br.readLine()) != null) {
            int n = Integer.parseInt(str);
            int k = Integer.MAX_VALUE;
            for (int i = 1; i < n; i++) {
                if (isPrime(i) && isPrime(n - i)) {
                    if (k > Math.abs(n - 2 * i)) k = Math.abs(n - 2 * i);
                }
            }
            int[] res = fun( k,  n );
            System.out.println(res[0]);
            System.out.println(res[1]);
        }
    }
    static boolean isPrime(int num) {
        for (int i = 2; i < num; i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
    static int[] fun(int k, int n ) {
        for (int i = 0; i < n; i++) {
            if (k == n - 2 * i) return new int[] {i, n - i};
        }
        return new int[0];
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务