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

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

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

import java.util.ArrayList;
import java.util.List;
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.hasNext()){
            int num=in.nextInt();
            int[] pair = new int[2];
            int difference = Integer.MAX_VALUE;

            List<Integer> list = new ArrayList<>();
            for(int i=2 ; i<=num-2 ; ++i){
                if(isSuShu(i)){
                    list.add(i);
                }
            }
            //System.out.println(list);
            for(int i=0 ; i<list.size() ; ++i){
                for(int j=i ; j<list.size() ; ++j){
                    if(list.get(i)+list.get(j) == num){
                        if(difference>list.get(j)-list.get(i)){
                            
                            difference = list.get(j)-list.get(i);
                            //System.out.println(difference);
                            pair[0]=list.get(i);
                            pair[1]=list.get(j);
                        }
                    }
                }
            }

            System.out.println(pair[0]);
            System.out.println(pair[1]);

            
        }
    }

    public static boolean isSuShu(int num){
        if(num == 2){
            return true;
        }
        for(int i=3 ; i<=num/2 ; ++i){
            if(num%i==0){
                return false;
            }
        }
        return true;
    }


}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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