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

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

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


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        // 输入
        int num = Integer.parseInt(str);
        TreeMap<Integer, String> treeMap = new TreeMap<>();
        for (int i = 1; i <= num / 2; i++) {
            // 如果素数
            if (judgeIsNum(i)) {
                int j = num - i;
                // 判断另外一个是不是素数
                if (judgeIsNum(j)) {
                    int result = j - i;
                    treeMap.put(result, i + "," + j);
                }
                continue;
            }
        }
        // 遍历结果,获取第一个最小值就可以
        Set<Integer> set = treeMap.keySet();
        for (Integer key : set) {
            String res = treeMap.get(key);
            String[] split = res.split(",");
            for (int i = 0; i < split.length; i++) {
                System.out.println(split[i]);
            }
            break;
        }

    }
    // 判断一个数是否是素数
    public static boolean judgeIsNum(Integer integer) {
        if (integer == 1 || integer == 2 || integer == 3) {
            return true;
        }
        for (int i = 2; i < integer; i++) {
            if (integer % i == 0) {
                return false;
            }
        }
        return true;
    }
}

全部评论

相关推荐

项目经历怎么增加啊,跟着网上视频做项目能写进简历吗?
小浪_Coding:26届还没实习嘛? 一个项目也不太够, 找实习都难, 秋招没法投
简历中的项目经历要怎么写
点赞 评论 收藏
分享
wish233:只是说使用xxx实现什么什么,没有原因,没有数据量化,就没有亮点。比如说第一个项目为什么要使用MongoDB?相比MySQL解决了什么问题,有什么好处?还有第二个项目用RestTemplate,既然引入了SpringCloud,你也写了自己的专业技能是能用里面的组件,那你为什么不用feign?还有就是你用的这些框架写上去的格式尽量统一一下,一会写spring,一会又是Spring,不太舒服
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-29 14:02
纠结的茶叶蛋在开会:太简单了,技术和业务没一个够用的,要么学业务,去搞erp或者his,要么专精技术,去搞架构
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务