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

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

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt()) {
            int tar = scanner.nextInt();
            ArrayList<Integer> list = new ArrayList<>();
            for (int i = 1; i < tar; i++) {
                int count = calSu(i);
                if (count <= 2) {
                    list.add(i);
                }
            }

            LinkedHashMap<Integer, Integer> objectObjectHashMap = new LinkedHashMap<>();
            for (int i = 0; i <= list.size() - 1; i++) {
                int result = tar - list.get(i);
                if (list.indexOf(result) != -1) {
                    int cha = result - list.get(i);
                    if (cha >= 0) {
                        objectObjectHashMap.put(list.get(i), cha);
                    }
                }
            }

            System.out.println(getTail(objectObjectHashMap).getKey());
            System.out.println(tar - getTail(objectObjectHashMap).getKey());

        }

    }
    public static <K, V> Map.Entry<K, V> getTail(LinkedHashMap<K, V> map) {
        Iterator<Map.Entry<K, V>> iterator = map.entrySet().iterator();
        Map.Entry<K, V> tail = null;
        while (iterator.hasNext()) {
            tail = iterator.next();
        }
        return tail;
    }
    public  static int calSu(int tar) {
        int count = 0;
        for (int i = 1; i <= tar; i++) {
            if (tar % i == 0) {
                count++;
            }
        }
        return count;
    }
}

全部评论

相关推荐

11-27 17:08
已编辑
牛客_产品运营部_私域运营
腾讯 普通offer 24k~26k * 15,年包在36w~39w左右。
点赞 评论 收藏
分享
冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
11-24 11:23
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务