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

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

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

//注意两个地方

//目前最小差值=初始差值(这个都不会犯错,迭代器拿就行,然后键取值)

//目前减数=初始减数(这个别赋成0,迭代器拿出来的那个直接赋就行了)

import java.util.*;

public class Main{

public static void main(String[]args){

    int n=new Scanner(System.in).nextInt();
    LinkedHashMap<Integer,Integer> jzd=new LinkedHashMap<>();
    LinkedHashMap<Integer,Integer> czd=new LinkedHashMap<>();
    for(int j=2;j<n-1;j++){
        if(ps(j)&&ps(n-j)){
           if(!(jzd.containsKey(j)||jzd.containsValue(n-j))){
               jzd.put(j,n-j);
               czd.put(j,Math.abs(n-j*2));
           }
        }
    }
   
    
   Set<Integer> set= czd.keySet();
    int no1= set.iterator().next();
    int d=czd.get(no1);
    int dk=no1;
    for(int k:set){
        if(czd.get(k)<d){
            d=czd.get(k);
            dk=k;
        }
    }
    
    if((n-dk)>dk){
        System.out.println(dk);
        System.out.println(n-dk);
    }else{
        
        System.out.println(n-dk);
        System.out.println(dk);
    }
    
}

public static boolean ps(int i){
    if(i==1){return false;}
    for(int j=2;j<i;j++){
       if(i%j==0){return false;
                 } 
       }
    
return true;
}

}

全部评论

相关推荐

丿南烟丶:黑白模板吧,不要这样花哨的。 主要成就太空了,和获奖融在一起,写一两行就行了。 职业技能不要这样排,就传统的掌握精通什么什么然后举例补充的一些重要技术点。 自我介绍说实话也没啥用,可以删了。 把自己的两个项目方案细节补充上去,为什么这样设计,怎么设计,成果是什么按star法则来写 你要引导面试官来问你的技能和项目,你的获奖和自我介绍别人可能看都不看一眼或者不太在乎,重要的是展示你能干活的能力
点赞 评论 收藏
分享
在备战秋招的蛇:这波和id配合得不是很好
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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