Java 100(三)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_44510615/article/details/102607991
  • 歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个质数的和
/**
 * @author: 毛利
 */
public class Gedebahe {
    /*
    任何一个大于六的偶数可以拆分成两个质数的和
     */
    public static void main(String[] args) {
        int num = Integer.parseInt(args[0]);
        System.out.println(num);
        // 大于6直接retrun
        if (num <= 6) {
            System.out.println("参数错误!");
            return;
        }
        // 不是偶数pass
        if (num % 2 != 0) {
            System.out.println("参数错误!");
            return;
        }
        // 创建一个对象Gedebahe
        Gedebahe g = new Gedebahe();
        //1 不是质数,2 是偶数,因此从 3 开始循环
        // 遍历到num/2就可以了
        for (int i = 3; i <= num / 2; i++) {
            if (i % 2 == 0) {
                //如果为偶数,退出本次循环
                continue;
            }
            //当 i 与 num-i 都为质数时,满足条件,打印
            if (g.isPrime(i) && g.isPrime(num - i)) {
                System.out.println(i + " + " + (num - i) + " = " + num);
            }
        }
    }
    // 判断是否质数

猜你喜欢

转载自blog.csdn.net/weixin_44510615/article/details/102607991