Java题目:一个偶数总能表示为两个素数之和。(哥德巴赫猜想)

哥德巴赫猜想

哥德巴赫猜想是指任何一个大于2的偶数都可以表示为两个素数之和。这个猜想最早出现在1742年普鲁士人克里斯蒂安·哥德巴赫与瑞士数学家莱昂哈德·欧拉的通信中。虽然哥德巴赫自己无法证明它,欧拉也无法证明,但欧拉在回信中提出了一个等价版本,即任一大于2的偶数都可写成两个质数之和。这个猜想与整数分拆问题有一定联系,也属于希尔伯特第八问题中的一个子问题。在数学界,哥德巴赫猜想一直未被证明,但在1966年,陈景润证明了"1+2"成立,即"任一充分大的偶数都可以表示成二个素数的和,或是一个素数和一个半素数的和"。哈洛德·贺欧夫各特在2013年发表了两篇论文,宣布彻底证明了弱哥德巴赫猜想,即任何一个大于7的奇数都能被表示成三个奇质数的和。

bash 复制代码
package test6;

import java.util.Scanner;

public class Test1 {

    /**
     * 题目:一个偶数总能表示为两个素数之和。
     * //由于用除sqrt(n)的方法求出的素数不包括2和3,
     * //因此在判断是否是素数程序中人为添加了一个
     */

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个偶数:");
        int num = sc.nextInt();
        // 此处的次数在偶数数值的一半即可
        for (int i = 2; i < num / 2; i++) {
            if (judgment(i) && judgment(num - i)) {
                System.out.println(num + " = " + i + " + " + (num - i));
            }
        }
        sc.close();
    }

    public static boolean judgment(int n) {

        boolean flag = true;
        if (n==2||n==3) {
            flag = true;
        }
        for (int i = 2; i <= Math.sqrt(n); i++) {
            // 判断素数的方法:用一个数分别去除2到sqrt(这个数)
            if (n % i == 0) {
                // 如果可以整除,则不是素数,返回值为false
                flag = false;
            }
        }
        return flag;// 循环结束,没有中途返回值,则为素数,返回值为true
    }


}
相关推荐
程序猿_极客6 分钟前
【2025最新】 Java 入门到实战:数组 + 抽象类 + 接口 + 异常(含案例 + 语法全解析+巩固练习题)
java·开发语言·后端·java基础·java入门到实战
yzx99101314 分钟前
一个嵌入式存储芯片质量评估系统的网页界面设计
开发语言·javascript·ecmascript
树在风中摇曳16 分钟前
数据结构与算法基础入门 —— 从概念到复杂度理解
开发语言·c
v***431723 分钟前
spring.profiles.active和spring.profiles.include的使用及区别说明
java·后端·spring
艾莉丝努力练剑1 小时前
【C++:哈希表封装】用哈希表封装unordered_map和unordered_set
java·c++·stl·哈希算法·散列表·平衡二叉树·哈希
Moe4881 小时前
@SpringBootApplication 注解(Spring Boot 自动配置)详解
java·后端
是苏浙1 小时前
零基础入门C语言之C语言实现数据结构之栈
c语言·开发语言·数据结构
后端小张1 小时前
【JAVA 进阶】SpringBoot 事务深度解析:从理论到实践的完整指南
java·开发语言·spring boot·后端·spring·spring cloud·事务
合作小小程序员小小店1 小时前
web网页开发,在线%宠物销售%系统,基于Idea,html,css,jQuery,java,ssh,mysql。
java·前端·数据库·mysql·jdk·intellij-idea·宠物
合作小小程序员小小店1 小时前
web网页开发,在线%档案管理%系统,基于Idea,html,css,jQuery,java,ssh,mysql。
java·前端·mysql·jdk·html·ssh·intellij-idea