Java编程验证歌德巴赫猜想

题目:证明任何大于6的偶数可以表示为两素数之和,如10=3+7。

ps:最近在看java基础,咳咳,由于我是个有基础的人,就做了一下书上这道题,做完以后在网上看不到合心意的答案,于是贴一篇自己的版本

题为偶数=素数1+素数2,偶数>6即从8开始,2虽然是特殊的素数,但是不可能是素数1或者素数2,那么素数1从3开始。

下面直接展示代码

public class Goldbach_question {//歌德巴赫
    static boolean Is_prime(int a){//判断素数
        for(int i=3;i*i<=a;i+=2)//只要求到sqrt(a)足够了,并且绕过偶数
            if(a%i==0) return false;
            return true;
    }
    public static void main(String[] args) {
        for(int i=8;i<=100;i+=2)//只展示8-100
            for(int j=3;j<=i/2;j+=2)//i/2为了去除5+3 3+5这种冗余数据
                if(Is_prime(j)&&Is_prime(i-j)) {
                    System.out.println(j+" + "+(i-j)+" = "+i);
                    break;//只需要一组表示即可,因为一个偶数可能有很多组的素数相加而成
                }
    }
}

展示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值