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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int c = 0;
        if(n==4){
              System.out.println(2);
              System.out.println(2);//任何一个数除以1都会没有余数,所以当偶数为4,特殊处理
        }
       else{for (int i = n / 2; i >= 2; i--) { //将这个偶数分两半,
            if (c == 1) {
                break;
            } else {
                for (int j = 2; j < i; j++) {
                    if (i % j == 0) {
                        break;
                    } else if (j == i - 1) { //从中间开始往左边找到最大的素数
                        for (int k = 2; k < n - i; k++) { //算出另一个数
                            if ((n - i) % k == 0) {
                                break;
                            }
                            if (k == (n - i - 1)) {//然后判断是不是素数
                                c++; //是的话就直接结束循环,因为这两个数必然是差值最小的
                                System.out.println(i);
                                  System.out.println(n-i);
                             

                            }

                        }
                    }
                }

            }
        }

    }
    } 
}

全部评论

相关推荐

2024-12-27 12:28
南京理工大学 后端
蚂蚁 实习转正组 n×16
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
2024-12-16 21:16
已编辑
阿里优酷 Java后端 总包42w 硕士985
点赞 评论 收藏
分享
淘天 客户端 N*16 + 1w
我是一颗卷心菜:还是后端好点,我感觉是内容>>title
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务