素数的无穷大的证明

素数的无穷大——欧几里得的证明

文章目录

  • 一、说明
  • 二、欧几里得证据
  • 三、哥德巴赫对素数无穷性的证明(1730)
  • 四、Fürstenberg 对素数无穷性的证明(1955)
  • 五、库默尔对欧几里得证明的重述

一、说明

众所周知,素数是无限多的。然而,两千多年前的情况并非如此。当时,数学还处于非常初级的阶段,尚未得到发展。自然,质数是一个有吸引力的探索前沿。要处理素数,首先要了解它最基本的性质——有多少个素数?

欧几里得可能是第一个证明有无穷多个素数的人。即使在 2000 年后,它仍然是一个优秀的推理模型。下面我们遵循 Ribenboim 对欧几里得证明的陈述 [ Ribenboim95 ,第 3 页],请参阅“有无穷多个素数”页面以了解其他几个证明。

二、欧几里得证据

即使在今天,欧几里得的证明仍然是数学推理和美的极好展示。他的证明首先考虑了任何有限的素数集:

{ p 1 , p 2 , p 3 , . . . p n } \{p_1,p_2,p_3,...p_n \} {p1,p2,p3,...pn}

然后,欧几里得的方法涉及证明至少存在一个素数,使其不属于该集合。我们设 P 是该集合成员的乘积,即:
P = p 1 ∗ p 2 ∗ p 3 , . . . ∗ p n P=p_1*p_2*p_3,...*p_n P=p1p2p3,...pn

我们定义 Q = P + 1。

接下来,我们继续通过穷竭来完成这个证明。需要注意的是,这个证明的推论是算术的基本定理:每个大于 1 的数字都可以表示为质因数的唯一乘积。

欧几里得利用了这个定理,产生了两种情况:

  1. Q 是素数。
  2. Q 是复合的(不是素数)。

他首先单独考虑每个案例。

  • 在 Q 是素数的情况下,Q 不属于我们开始的有限素数集(因为 Q > P),因此,有一个素数不是该集合的成员, 因此,素数是无限的。

  • 在 Q 是复合的情况下,Q 具有唯一的质因式分解,并且一些质数 r 除以 Q。如果这个质因数 r 属于我们开始的有限集合,那么它将除以 P,因为 P 是集合中素数的乘积。但 r 还将 Q = P + 1 除以构造。现在,如果 r 除以 Q 和 r 除以 P,那么它也必须除以两者之间的差值。也就是说,它还必须除以 1。由于没有素数除以 1,因此 r 是不属于该集合的素数。

在这两种情况下,素数都存在于有限集之外。这表明,对于每个有限的素数集,至少存在一个不在列表中的素数,从而证明了素数的无穷大。

欧几里得证明的变体
欧几里得证明的变体遵循类似的推理,但涉及阶乘的使用。数字 x 的阶乘,用 x! 表示,定义为所有小于或等于自身的自然数的乘积:
在这里插入图片描述

在这个版本的证明中,我们首先注意到 x! 可被从 2 到 x 的每个整数整除,包括 2 和 x。 因此,x! + 1 不能被任何小于 x 的正整数整除。因此,x! + 1 要么是素数,要么可以被大于 x 的素数整除。 在任何情况下,对于每个正整数 x,都有一个大于 x 的素数。有了这个,我们可以得出结论,有无限数量的素数。

欧几里得可能是第一个证明有无穷多个素数的人,但他的证明后来被许多人效仿。下面我们给出哥德巴赫使用费马数(写于 1730 年 7 月写给欧拉的一封信中)的巧妙证明,以及一些变体。请参阅“有无穷多个素数”页面,了解更多证明。

三、哥德巴赫对素数无穷性的证明(1730)

https://t5k.org/notes/proofs/infinite/goldbach.html
首先我们需要一个引理。

引理。
费马数 F n = 2 2 n + 1 F_n =2^{2^n}+1 Fn=22n+1是两两互质的。
证明。
通过归纳法很容易证明 F m − 2 = F 0. F 1..... F m − 1 F m -2 = F 0 . F 1 . ... . F m -1 Fm2=F0.F1.....Fm1。这意味着如果d能整除 F n和 F m(其中n < m),那么d也能整除 F m -2 ;因此d能整除 2 。但每个费马数都是奇数,因此d为 1。

现在我们可以证明这个定理:
定理。
素数有无数个。
证明。
为每个费马数 F n选取一个素数因子 p n。根据引理,我们知道这些素数都是不同的,表明素数有无穷多个。
请注意,任何两两互质的序列都可以用于此证明。这种类型的序列很容易构造。例如,选择互质整数a和b,然后按如下方式定义 a n 。

a 1 = a ,
a 2 =a 1 + b ,
a 3 =a 1 a 2 + b ,
a 4 =a 1 a 2 a 3 + b ,

这包括费马数(a =1,b =2)和西尔维斯特数列(a =1,b =2):

a 1 =2 且 a n +1 = a n 2 -a n +1。

事实上,证明实际上只需要一个具有成对互质的子序列的序列,例如梅森数。

四、Fürstenberg 对素数无穷性的证明(1955)

https://t5k.org/notes/proofs/infinite/topproof.html
克里斯·考德威尔
欧几里得可能是第一个证明有无穷多个素数的人。此后,人们给出了许多其他证明。也许最奇怪的是 Fürstenberg [ Fürstenberg55 ] 给出的以下拓扑证明。请参阅“有无穷多个素数”页面,了解其他几个证明。

[定理] 素数有无数个。
[证明]
以等差数列(从-无穷到+无穷)为基础,在整数集上定义一个拓扑。很容易验证这会产生一个拓扑空间。对于每个素数p ,设A p 由p的所有倍数组成。A p是闭集,因为它的补集是所有其他差值为p 的等差数列的并集。现设A为数列A p 的并集 。如果素数的数量是有限的,则A是闭集的有限并集,因此是封闭的。但除 -1 和 1 之外的所有整数都是某个素数的倍数,因此A的补集为 {-1, 1},显然不是开集。这表明A不是有限并集,且素数有无穷多个。

五、库默尔对欧几里得证明的重述

克里斯·考德威尔
欧几里得可能是第一个证明有无穷多个素数的人。即使在 2000 年后,它仍然是一个优秀的推理模型。库默尔给出了这个证明的更优雅的版本,我们在下面给出(遵循 Ribenboim [ Ribenboim95 ,第 4 页])。请参阅“有无穷多个素数”页面,了解其他几个证明。

定理。
素数有无数个。
证明。
假设存在有限多个素数p 1 < p 2 < … < p r。设N = p 1 . p 2 . … . p r。整数N -1 是素数的乘积,它与N有一个共同的素数因子p i;因此,p i能整除N - ( N -1) =1,这是荒谬的!∎
收藏

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第36期DAY56

DAY56 套磁很顺利&#xff0c;发现又有书读了&#xff01; 300最长递增子序列 朴素法&#xff0c;这个好想&#xff0c;但是不对&#xff0c;比如 0 1 0 3 2 3 我的算法会找出0 1 3作为答案&#xff0c;而不是0 1 2 3 可以看出&#xff0c;后面的状态依赖于前面的状态&am…

CMake详细解读

原文来自&#xff1a;CMake 保姆级教程 视频来自B站&#xff1a;CMake 保姆级教程C/C 1、快速操作&#xff1a; 原文来自&#xff1a;在 VScode 中使用 CMake 快速创建cpp工程 首先创建一个 C/C 工程文件夹 CALC&#xff0c;用 VSCode 打开&#xff0c;目录结构如下&#x…

探索软件工程师在新能源汽车研发中的角色与贡献

随着全球对可持续发展的关注不断增加&#xff0c;新能源汽车的研发与应用成为了汽车行业的一个重要方向。作为软件工程师&#xff0c;参与新能源汽车研发不仅能够推动科技创新&#xff0c;还能为环保事业贡献力量。本文将深入探讨软件工程师在新能源汽车研发中的具体贡献、所需…

如何画系统架构图学习

原文链接:https://learn.lianglianglee.com/%E4%B8%93%E6%A0%8F/%E4%BB%8E%200%20%E5%BC%80%E5%A7%8B%E5%AD%A6%E6%9E%B6%E6%9E%84/51%20%E5%A6%82%E4%BD%95%E7%94%BB%E5%87%BA%E4%BC%98%E7%A7%80%E7%9A%84%E8%BD%AF%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E5%9B%BE%EF…

C语言学习系列:初识C语言

前言&#xff0c;C语言是什么 语言&#xff0c;比如中文、英语、法语、德语等&#xff0c;是人与人交流的工具。 C语言也是语言&#xff0c;不过是一种特殊的语言&#xff0c;是人与计算机交流的工具。 为什么叫C语言呢&#xff1f; 这就要从C语言的历史说起了。 一&#…

RAG vs Fine-Tuning 微调哪种大模型(LLM)技术更好?

数据科学和机器学习的研究人员和从业者都在不断探索创新策略来增强语言模型的能力。在众多方法中&#xff0c;出现了两种突出的技术&#xff0c;即检索增强生成 (RAG)和微调。本文旨在探讨模型性能的重要性以及 RAG 和微调策略的比较分析。 模型性能在 NLP 中的重要性 增强用…

[数据集][图像分类]黑色素瘤分类数据集10015张7类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;10015 分类类别数&#xff1a;7 类别名称:[“0”,“1”,“2”,“3”,“4”,…

Java学习 - MyBatis - 入门实例详解

前言 在上一篇文章中&#xff0c;我们讨论了持久化的概念&#xff0c;并简要介绍了 MyBatis。今天我们将深入到 MyBatis 的实际应用中&#xff0c;通过创建一个入门实例来展示如何使用 MyBatis 执行基本的 CRUD&#xff08;创建、读取、更新、删除&#xff09;操作。这个过程将…

demo xshell (程序替换 工作目录 内建命令)

1.程序替换 在学习完一些列的进程替换接口之后我们大概就能知道&#xff0c;我们的环境变量以及命令行参数是如何传递给子进程的&#xff0c;这些参数是我们在调用进程替换时就传给了子进程的数据。 那么如果我们自己要实现一个简单的命令行解释器&#xff0c;我们是不是首先…

记录某书请求返回406及响应{“code“:-1,“success“:false}

今天测试某个平台的爬虫时使用requests post请求正常写了个测试脚本把各种参数带上出来以后出现了406情况&#xff0c;和网站数据是完全一样的 以为是 X-S、X-T参接不对&#xff0c;但在postman里测试又是可以的成功&#xff0c;以为是检验了参数顺序&#xff0c;测试发现也没…

Ubuntu 24.04 LTS 安装配置 MySQL Community Server 8.4.0 LTS

1 安装 Apt Repository ​​​​​​​地址MySQL :: Download MySQL APT Repository sudo dpkg -i mysql-apt-config_0.8.30-1_all.deb #安装mysql 8.4 lts sudo apt update sudo apt-get install mysql-server #修改mysql root密码策略 2 查看版本 testtest:~$ mysqld --v…

mysql 数据库datetime 类型,转换为DO里面的long类型后,只剩下年了,没有了月和日

解决方法也简单&#xff1a; 自定义个一个 Date2LongTypeHandler <resultMap id"BeanResult" type"XXXX.XXXXDO"><result column"gmt_create" property"gmtCreate" jdbcType"DATE" javaType"java.lang.Long&…

【内存管理】页表映射

页表的一些术语 现在Linux内核中支持四级页表的映射&#xff0c;我们先看下内核中关于页表的一些术语&#xff1a; 全局目录项&#xff0c;PGD&#xff08;Page Global Directory&#xff09; 上级目录项&#xff0c;PUD&#xff08;Page Upper Directory&#xff09; 中间目…

2024 AEE | 风丘科技将亮相日本爱知国际会展中心——共同创造!

2024年名古屋汽车工程博览会&#xff08;Automotive Engineering Exposition 2024 NAGOYA&#xff09;将于7月17-19日在日本爱知县国际展示场&#xff08;Aichi Sky Expo&#xff09;开展。本展会是专门为活跃在汽车行业的工程师和研究人员举办的汽车技术展览&#xff0c;汇聚了…

React保姆级教学

React保姆级教学 一、创建第一个react项目二、JSX基本语法与react基础知识1、 插值语法&#xff1a;2、 循环一个简单列表3、 实现简单条件渲染4、 实现复杂的条件渲染5、 事件绑定6、 基础组件&#xff08;函数组件&#xff09;7、 使用useState8、 基础样式控制9、 动态类名1…

ui自动化中,selenium进行元素定位,以及CSS,xpath定位总结

几种定位方式 简单代码 from selenium import webdriver import time# 创建浏览器驱动对象 from selenium.webdriver.common.by import Bydriver webdriver.Chrome() # 参数写浏览器驱动文件的路径&#xff0c;若配置到环境变量就不用写了 # 访问网址 driver.get…

JDBC简介以及快速入门

这些都是JDBC提供的API 简介 每一个数据库的底层细节都不一样 不可能用一套代码操作所有数据库 我们通过JDBC可以操作所有的数据库 JDBC是一套接口 我们自己定义了实现类 定义实现类 然后就能用Java操作自己的数据库了 MySQL对于JDBC的实现类 就是驱动 快速入门 创建新的项…

冯喜运:6.10周一黄金还会再次拉升吗?日内黄金原油操作策略

【黄金消息面分析】&#xff1a;周一(6月10日)亚市盘中&#xff0c;现货黄金交在上周五暴跌后仍然承压&#xff0c;目前金价位于2294美元/盎司左右。因强劲非农数据刺激美元大涨&#xff0c;现货黄金上周五出现暴跌。此外&#xff0c;上周五数据显示&#xff0c;最大黄金消费国…

Duck Bro的第512天创作纪念日

Tips&#xff1a;发布的文章将会展示至 里程碑专区 &#xff0c;也可以在 专区 内查看其他创作者的纪念日文章 我的创作纪念日第512天 文章目录 我的创作纪念日第512天一、与CSDN平台的相遇1. 为什么在CSDN这个平台进行创作&#xff1f;2. 创作这些文章是为了赚钱吗&#xff1f…

基于运动控制卡的圆柱坐标机械臂设计

1 方案简介 介绍一种基于运动控制卡制作一款scara圆柱坐标的机械臂设计方案&#xff0c;该方案控制器用运动控制卡制作一台三轴机械臂&#xff0c;用于自动抓取和放料操作。 2 组成部分 该机械臂的组成部分有研华运动控制卡&#xff0c;触摸屏&#xff0c;三轴圆柱坐标的平面运…