Java循环综合练习二之哥德巴赫猜想

任务描述

本关任务:验证 7-100(含 7 不含 100)之间的数是否符合哥德巴赫猜想。哥德巴赫猜想:任一大于 6 的正整数都能分解成两个素数之和。素数:一个大于 1 的自然数,除了 1 和它自身外,不能被其他自然数整除的数。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。

注意:无需考虑由两个以上素数组成的正整数,比如 11=7+2+2。
测试说明

平台将运行你编写的程序代码,若你的运行结果和预期输出一致,则通关。预期输出:

7可分解为素数2和素数5
8可分解为素数3和素数5
9可分解为素数2和素数7
10可分解为素数3和素数7
10可分解为素数5和素数5
12可分解为素数5和素数7
13可分解为素数2和素数11
14可分解为素数3和素数11
14可分解为素数7和素数7
...

开始你的任务吧,祝你成功!

public class GeTest {
    // 判断整数是否是素数
    public static boolean isPrime(int x){
        for(int y=2;y<x;y++){
            if(x%y==0){
                return false;
            }
        }
        return true;
    }
    public static void main(String[] args) {
        // 验证 7-100 之间的数符合哥德巴赫猜想
        // 请在Begin-End间编写完整代码
        /********** Begin **********/
        int n; // 定义一个整型变量n,用来存储要验证的偶数
        for (n = 7; n <= 100; n += 1) { // 用一个for循环,让n从7开始递增到100,每次递增1
            int a, b; // 定义两个整型变量a和b,分别用来存储两个质数
            for (a = 2; a <= n / 2; a++) { // 用另一个for循环,让a从2开始递增到n/2,每次递增1
                b = n - a; // 计算b=n-a
                if (isPrime(a) && isPrime(b)) { // 判断a和b是否都是素数(可以调用isPrime方法)
                    System.out.println(n + "可分解为素数" + a + "和素数" + b); // 如果都是素数,则打印出n=a+b
                }
            }
        }
        /********** End **********/
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值