哥德巴赫的另一个猜想

news2024/11/26 8:20:11
  • 哥德巴赫猜想了啥?

        所谓猜想,通常指的是基于现有知识或观察做出的未经证实的推测或推断。在数学领域,猜想是指那些被提出但尚未经过严格证明的命题,它们可能是正确的,也可能是错误的,也可能仍然在验证的过程中。

        克里斯蒂安.哥德巴赫曾经猜想,每个奇合数可以写成一个素数和一个平方的两倍之和

例如:

                9  =  7 + 2  x 1^{2}

              15  =  7 + 2  x 2^{2}

              21  =  3 + 2 x  3^{2}

              25  =  7 + 2 x  3^{2}

              27  = 19 + 2 x 2^{2}

              33  = 31 + 2 x 1^{2}

              ... ....

这个猜想最终被推翻了,那么问题来了,不能写成一个素数和一个平方的两倍之和的最小奇合数是多少?

  • 题目分析

题目要求找到不符合猜想的反例,我们通常的正向思维逻辑就是枚举找到不满足约束条件的第一个值,那么约束条件是什么呢?

第一:研究对象是奇数,且是合数;

第二:它要写成一个素数和一个平方的两倍。

即枚举找到第一个是奇合数,但不满足上述条件的值。

分析到这里,我们发现这又是一道涉及到素数的问题,经过之前几篇文章的总结,我们会立刻想到素筛法或线性筛法, 那么这道题目可以套用素筛法或线筛法的框架吗?可以!

解题思路:

1. 研究对象是合数,所以先把素数排除在外;

2. 将所有的偶数排除;

3. 利用线性筛算法,找到数据范围内的所有素数;

4. 模拟素数筛的标记过程,使用素数去标记掉范围内所有满足条件的数字;

重点来了,之前我们学习的素数筛是用当前遍历到的素数值去标记它的所有倍数值,因为素数值的倍数肯定是一个合数,这样我们就可以把数据范围内的所有合数都做了标记,但是对于这道题,标记条件就要根据题意做出修改:

例如,当前遍历到的素数是7, 我们标记的就是7 加上 1到N 区间内的所有值的平方的2倍,

               7 + 2 x 1^{2}

               7 + 2 x 2^{2}

               7 + 2 x 3^{2}

               ... ....

               7 + 2 x N^{2}     

      5.    遍历标记后的数据结构,第一个未被标记的值,就是一个奇合数。

  • 代码实现
#include <stdio.h>

#define MAX_N 1000000

int prime[MAX_N+5] = {0};// 存储所有素数
int arr[MAX_N+5] = {0}; // 记录最终标记结果

//利用线性筛算法得到所有素数
void init_prime(){
    for(int i = 2; i <= MAX_N;i++){
        if(!prime[i]){
            prime[++prime[0]] = i; // 存储所有素数
            arr[i] = 1; // 将素数的位置标记为1,即将素数排除
        }
        for(int j = 1; j <= prime[0]; j++){
            if(i * prime[j] > MAX_N) break;
            prime[prime[j] *i] = 1;
            if(i % prime[j] == 0) break;
        }
    }
    return;
}


int main(){
    init_prime();
    
   //利用素数筛的标记思想,标记所有符合条件的数
    for(int i = 1; i <= prime[0]; i++){
        for(int n = 1;;n++){
            if(prime[i] + 2 *n*n > MAX_N) break;
            arr[prime[i]+2*n*n] = 1; // 将满足条件:N= 素数+ 2*n*n 的数标记为1;
        }
    }
    
    //此时的arr中,素数都被标记为1,满足条件:素数+ 2*n*n 的数也被标记为了1;
    //此时的arr中,未被标记的数据应该都是合数;
    for(int i = 9; i<= MAX_N; i+=2){ //从第一个奇合数开始遍历,
        if(arr[i]) continue;
        printf("%d\n", i); //找的了第一个不满足条件的奇合数!
        break;
    }

    return 0;
}

运行结果:

Tip:

「哥德巴赫猜想:

哥德巴赫猜想是数学中的一个未解决问题,由德国数学家克里斯蒂安·哥德巴赫于1742年提出。原始的猜想是:任一大于2的偶数都可以表示为两个素数之和。由于现代数学不再将1视为素数,哥德巴赫猜想的现代表述为:任一大于5的整数都可以表示为三个素数之和。此外,还有一个等价的版本,即任一大于2的偶数都可以表示为两个素数之和,这通常被称为“强哥德巴赫猜想”或“关于偶数的哥德巴赫猜想”

哥德巴赫猜想自提出以来,吸引了无数数学家的研究。1966年,中国数学家陈景润证明了“1+2”成立,即“任一充分大的偶数都可以表示成二个素数的和,或是一个素数和一个半素数的和”。2013年5月,巴黎高等师范学院研究员哈洛德·贺欧夫各特宣布彻底证明了弱哥德巴赫猜想,即任一大于5的奇数都可以表示为三个素数之和。尽管这些进展非常重要,但哥德巴赫猜想的完整证明尚未完成。」

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1827303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从开源EPR产品Odoo学习

前言 一个先进、敏捷、经济高效、可快速扩展的Odoo免费开源企业信息化解决方案,让企业获得适应未来发展的长期创新和增长能力。 Odoo 的免费开源模式 让我们可利用无数开发人员和业务专家,在短短数年内,打造数百款应用。凭借强大的技术基础,Odoo 的框架是非常独特且优秀的…

第5章:模型预测控制(MPC)的代码实现

1. 建立 QP 模型&#xff1a; 1.1 车辆模型&#xff1a; 注&#xff1a;使用车辆横向动力学模型 纵向动力学模型&#xff08;误差模型&#xff09; 1.2 QP 问题模型&#xff1a; 注&#xff1a;详细推导见 笔记100&#xff1a;使用 OSQP-Eigen 对 MPC 进行求解的方法与代码-…

Axios基础用法

Axios简介&#xff1f; Axios是一个基于Promise的HTTP库&#xff0c;可以用在浏览器和node.js中。 Axios提供了更简洁、更强大的API来处理HTTP请求&#xff0c;因此在Vue.js或React等Javascript框架中十分受欢迎。 json-server json-server是一个命令行工具&#xff0c;可以让…

# RocketMQ 实战:模拟电商网站场景综合案例(六)

RocketMQ 实战&#xff1a;模拟电商网站场景综合案例&#xff08;六&#xff09; 一、RocketMQ 实战 &#xff1a;项目公共类介绍 1、ID 生成器 &#xff1a;IDWorker&#xff1a;Twitter 雪花算法。 在 shop-common 工程模块中&#xff0c;IDWorker.java 是 ID 生成器公共类…

生成和链接动态库

生成和链接动态库 在Linux和windows中的动态库是不一样的 linux 的动态库不需要设置导入导出符号&#xff0c;以.os为后缀windows中需要设置导入和导出符号.lib&#xff0c;以及动态库的后缀是dll 1、windows环境 1、创建动态库 项目结构 CMakeLists.txt cmake_minimum_re…

Leetcode - 132双周赛

目录 一、3174. 清除数字 二、3175. 找到连续赢 K 场比赛的第一位玩家 三、3176. 求出最长好子序列 I 四、3177. 求出最长好子序列 II 一、3174. 清除数字 本题可以使用栈来模拟&#xff0c;遇到数字弹出栈顶元素&#xff0c;遇到字母入栈。 代码如下&#xff1a; //使用字…

ord版本升级(0.15升级到0.18.5)

1、升级rust ~# rustup update stable ~# rustc --versionrustc 1.79.0 (129f3b996 2024-06-10)2、拉取0.18.5代码 ~# wget https://github.com/ordinals/ord/archive/refs/tags/0.18.5.tar.gz ~# tar -xf 0.18.5.tar.gz ~# cd ord-0.18.5 ~# cargo build --release3、启动se…

在机器学习领域中,One-Hot Encoding是什么

一般来说&#xff0c;机器学习模型要求所有的输入输出变量都必须是数字。如果我们的数据中包含了分类数据&#xff0c;我们必须将它们编码成一些数字&#xff0c;这样我们才可以拿去训练和评测一个机器学习模型。 我们常说的分类数据是不能够直接拿来训练、预测的。因为它们一…

【每日随笔】摩托车控车 ① ( 油离配合 | 落脚油离配合 - 不给油 | 落脚油离配合 - 给油 | 正式油离配合 | 骑行姿态注意事项 )

文章目录 一、找 " 离合结合点 "二、落脚油离配合 ( 不给油 )1、该科目练习目的2、起步姿态3、开始练习 三、落脚油离配合 ( 给油 )1、练习目的2、熟悉油门转速3、练习步骤 四、正式油离配合五、骑行姿态注意事项1、基本骑行姿态2、骑摩托车的姿态 - 含胸收腹驼背3、…

uniapp使用css实现瀑布流

页面 <template><view><gj v-if"likeList.length 0"></gj><view v-else class"list"><view class"pbl" v-for"(item,index) in likeList" :key"index"><view class"image&quo…

Windows10 MySQL(8.0.37)安装与配置

一、MySQL8.0.37下载 官网下载链接&#xff1a; https://dev.mysql.com/downloads/ 解压文件&#xff0c;解压到你想要的位置 二、新建MySQL配置文件 右键新建文本文档 新建my.txt文件 编辑my.txt文件&#xff0c;输入以下内容 [mysqld] # 设置 3306 端口 port3306 # 设…

苹果电脑装虚拟机和双系统的区别 苹果笔记本虚拟机和双系统哪个好 虚拟机能装MacOS吗 虚拟机类似的软件

Mac电脑用户在需要使用Windows操作系统的软件时&#xff0c;通常会面临两个选择&#xff1a;安装双系统或使用虚拟机。两种方式各有优缺点&#xff0c;适用于不同的使用场景。本文将详细分析和说明Mac电脑装双系统和虚拟机之间的区别&#xff0c;帮助用户选择最适合自己的方案。…

前端网站(一)-- 登录页面及账号密码验证

前端网站&#xff08;一&#xff09;-- 登录页面及账号密码验证 开篇&#xff08;请大家看完&#xff09;&#xff1a;此网站写给挚爱&#xff0c;后续页面还会慢慢更新&#xff0c;大家敬请期待~ ~ ~ 轻舟所编写这个前端框架的设计初衷&#xff0c;纯粹是为了哄对象开心。除…

<Linux>进程

进程 文章目录 进程PCBpid与ppidfork系统调用进程状态孤儿进程状态优先级环境变量进程地址空间虚拟地址 最直观的表示&#xff1a;启动一个软件&#xff0c;本质就是启动一个进程 PCB PCB是Process Control Block的简称&#xff0c;是用来描述进程状态信息的数据结构。 进程运…

了解并解决 Flutter 中的灰屏问题

生产中的 flutter 应用程序中的灰屏是一种通用占位符&#xff0c;当框架遇到问题无法渲染预期用户界面时就会显示。是的&#xff0c;所以基本上是出现问题时的后备指示器。 有趣的是&#xff0c;这只出现在发布模式下。在任何其他模式下运行都会显示红色错误屏幕&#xff0c;并…

课设--学生成绩管理系统(二)

欢迎来到 Papicatch的博客 目录 &#x1f40b;引言 &#x1f988;编写目的 &#x1f988;项目说明 &#x1f40b;产品介绍 &#x1f988;产品概要说明 &#x1f988;产品用户定位 &#x1f988;产品中的角色 &#x1f40b; 产品总体业务流程图 &#x1f40b; 产品功…

【PL理论】(25) C- 语言:表达式求值的推理规则 | 执行语句的推理规则 | 语句执行的推理规则

&#x1f4ad; 写在前面&#xff1a;本章我们将继续更新我们的 "C-" 语言&#xff0c;更新表达式求值的推理规则、执行语句的推理规则以及语句执行的推理规则。 目录 0x00 C- 语言更新&#xff1a;表达式求值的推理规则 0x01 C- 语言更新&#xff1a;执行语句的推…

观察者模式(大话设计模式)C/C++版本

观察者模式 扩展&#xff1a;观察者模式——委托 C 参考&#xff1a;https://www.cnblogs.com/Galesaur-wcy/p/15905936.html #include <iostream> #include <list> #include <memory> #include <string> using namespace std;// Observer类 抽象观…

港科夜闻 | 香港科大与香港科大(广州)合推红鸟跨校园学习计划,共享教学资源,促进港穗学生交流学习...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大与香港科大(广州)合推“红鸟跨校园学习计划”&#xff0c;共享教学资源&#xff0c;促进港穗学生交流学习。香港科大与香港科大(广州)6月14日共同宣布推出“红鸟跨校园学习计划”&#xff0c;以进一步加强两校学…

5.拼数 - 蓝桥杯

基础知识要求&#xff1a; Java&#xff1a;for循环、if判断、Scanner类、数组、字符串 Python&#xff1a; for循环、if判断、列表、字符串、input() 题目&#xff1a; 思路解析&#xff1a; 读取输入&#xff1a; 首先读取要排序的字符串数量。然后读取相应数量的字符串&am…