欧几里得证明$\sqrt{2}$是无理数
选自《费马大定理:一个困惑了世间智者358年的谜》,有少许改动。
原译者:薛密

\(\sqrt{2}\)是无理数,即不能写成一个分数。欧几里得以反证法证明此结论。第一步是假定相反的事实是真的,即\(\sqrt{2}\)可以写成某个未知的分数。用\(\frac{p}{q}\) 来代表这个假设的分数,其中 \(p\) 和 \(q\) 是两个整数。
在开始证明本身之前,需要对分数和偶数的某些性质有个基本的了解。
(1) 如果任取一个整数并且用2去乘它,那么得到的新数一定是偶数。这基本上就是偶数的定义。
(2) 如果已知一个整数的平方是偶数,那么这个整数本身一定是偶数。
(3) 最后,分数可以简化。例如分数\(\frac{16}{24}\),用2除分子分母得\(\frac{8}{12}\),两个分数\(\frac{16}{24}\)与\(\frac{8}{12}\)是相等的,进一步,\(\frac{8}{12}\)与\(\frac{4}{6}\) 是相等的,而\(\frac{4}{6}\) 又与\(\frac{2}{3}\)是相等的。然而,\(\frac{2}{3}\)不能再化简,因为2 和3没有公因数。不可能将一个分数永远不断地简化。
欧几里得相信\(\sqrt{2}\)不可能写成一个分数。然而,由于他采用反证法,所以他先假定
\begin{equation*}\sqrt{2}=\frac{p}{q}\end{equation*}
将两边平方,得
\begin{equation*}2=\frac{p^2}{q^2}\end{equation*}
即
\begin{equation*}2q^2=p^2\end{equation*}
现在根据第(1) 点我们知道\(p^2\) 必定是偶数。此外,根据第(2) 点我们知道 \(p\) 本身也必须是偶数。但是,如果 \(p\) 是偶数,那么它可以写成\(2m\),其中\(m\) 是某个别的整数。这是从第(1) 点可以得出的结论。将这再代回到等式中,我们得到
\begin{equation*}2q^2=p^2=(2m)^2=4m^2\end{equation*}
两边除以2,得
\begin{equation*}q^2=2m^2\end{equation*}
但是根据我们前面用过的同样的论证,我们知道 \(q^2\) 必须是偶数,因而 \(q\) 本身必须是偶数。如果确实是这样,那么 \(q\) 可以写成\(2n\),其中 \(n\) 是某个别的整数。如果我们回到开始的地方,那么
\begin{equation*}\sqrt{2}=\frac{p}{q}=\frac{2m}{2n}=\frac{m}{n}\end{equation*}
现在我们得到一个新的分数\(\frac{m}{n}\),它比\(\frac{p}{q}\)更简单。
然而,我们发现对\(\frac{m}{n}\)我们可以精确地重复以上同一个过程,在结束时我们将产生一个更简单的分数,比方说\(\frac{g}{h}\)。然后又可以对这个分数再重复相同的过程,而新的更为简单的分数,比方说\(\frac{e}{f}\)将是。我们可以对它再作同样的处理,并且一次次地重复这个过程,不会结束。但是根据第(3) 点我们知道任何分数不可能永远简化下去,总是必须有一个最简单的分数存在,而我们最初假定的分数\(\frac{p}{q}\) 似乎不服从这条法则。于是,我们可以有正当的理由说我们得出了矛盾。如果\(\sqrt{2}\)可以写成为一个分数,其结果将是不合理的,所以,说\(\sqrt{2}\)不可能写成一个分数是对的。于是,\(\sqrt{2}\)是一个无理数。
欧几里得证明$\sqrt{2}$是无理数的更多相关文章
- <数论相关>欧几里得与拓展欧几里得证明及应用
欧几里得算法 欧几里得算法的复杂度为O(log(n)),是一个非常高效的求最大公约数算法. 在这里不证明欧几里得算法的复杂度,有兴趣的可以访问以下链接:http://blog.sina.com.cn/ ...
- BZOJ-2242 计算器 快速幂+拓展欧几里得+BSGS(数论三合一)
污污污污 2242: [SDOI2011]计算器 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 2312 Solved: 917 [Submit][S ...
- POJ2677 Tour(DP+双调欧几里得旅行商问题)
Tour Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3929 Accepted: 1761 Description ...
- URAL1204. Idempotents(扩展欧几里得)
1204 大体推推 会出来这个式子 x(x-1) = k*n;n = p*q ;x(x-1)%(p*q)==0; 因为p,q都为素数 那也就是说x和x-1中必定包含这两个数 而且一个里面只能有一个 不 ...
- 欧几里得旅行商问题 java与c++实现
双调欧几里得旅行商问题是一个经典动态规划问题.<算法导论(第二版)>思考题15-1 旅行商问题描述:平面上n个点,确定一条连接各点的最短闭合旅程.这个解的一般形式为NP的(在多项式时间内可 ...
- [POJ1845&POJ1061]扩展欧几里得应用两例
扩展欧几里得是用于求解不定方程.线性同余方程和乘法逆元的常用算法. 下面是代码: function Euclid(a,b:int64;var x,y:int64):int64; var t:int64 ...
- 【bzoj2242】: [SDOI2011]计算器 数论-快速幂-扩展欧几里得-BSGS
[bzoj2242]: [SDOI2011]计算器 1.快速幂 2.扩展欧几里得(费马小定理) 3.BSGS /* http://www.cnblogs.com/karl07/ */ #include ...
- bzoj 2242: [SDOI2011]计算器【扩展欧几里得+快速幂+BSGS】
第一问快速幂板子 第二问把式子转化为\( xy\equiv Z(mod P)\rightarrow xy+bP=z \),然后扩展欧几里得 第三问BSGS板子 #include<iostream ...
- poj 1845 【数论:逆元,二分(乘法),拓展欧几里得,费马小定理】
POJ 1845 题意不说了,网上一大堆.此题做了一天,必须要整理一下了. 刚开始用费马小定理做,WA.(poj敢说我代码WA???)(以下代码其实都不严谨,按照数据要求A是可以等于0的,那么结果自然 ...
随机推荐
- PHP Opcode内核实现 - [ PHP内核学习 ]
catalogue . Opcode简介 . PHP中的Opcode . opcode翻译执行(即时解释执行) 1. Opcode简介 opcode是计算机指令中的一部分,用于指定要执行的操作, 指令 ...
- DayuCMS 1.525 /include/global.func.php Foreground Arbitrary Code Execution
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Relevant Link: http://joychou.org/in ...
- dedecms /member/resetpassword.php SQL Injection Vul
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 DEDEcms SQL注入漏洞导致可以修改任意用户密码 2. 漏洞触发条 ...
- 对JavaScript优化及规范的一些感想
变量...... 1.一个变量只存一种类型的数据,2.尽量减少对隐式转换的依赖,这样可增强程序的可读性,日后修改程序时不至于混乱,3.使用匈牙利命名法,4.使用局部变量时记得加 var 进行声明,不然 ...
- iOS - Xcode7.3插件实效问题解决方法
以往Xcode升级插件实效.1.关闭xcode 2.终端获取uid 3.文件中info.plist手动添加uid,现在不用了.在网上找的,特地记录一下,尤其是插件太多,不会麻烦了. 详细操作步骤: 关 ...
- OpenGLES入门笔记四
原文参考地址:http://www.cnblogs.com/zilongshanren/archive/2011/08/08/2131019.html 一.编译Vertex Shaders和Fragm ...
- NOIp2010 关押罪犯
二分+2-SAT 先预处理出所有的v,然后离散化一下,在那个的基础上二分,对于每次二分出的值约束边权超过所二分出的边权的两点. //OJ 1322 //by Cydiater //2015.8.26 ...
- ES6之模版字符串
ES6之模版字符串 最近在项目中使用了ES6的模版字符串,在这里加以总结. 1.之前我们也可以使用JavaScript输出模版字符串,通常是下面这样的: $("#result"). ...
- sudo和rpm命令
sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等.这样不仅减少了root用户的登录 和管理时间,同样也提高了安全 ...
- base64 json
javascript将base64编码的图片数据转换为file并提交 直接提交base64编码图片数据,过大的话后台会出现转发错误问题. 一个不错的解决方式就是将base64编码的图片数据转换为Blo ...