选自《费马大定理:一个困惑了世间智者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}$是无理数的更多相关文章

  1. <数论相关>欧几里得与拓展欧几里得证明及应用

    欧几里得算法 欧几里得算法的复杂度为O(log(n)),是一个非常高效的求最大公约数算法. 在这里不证明欧几里得算法的复杂度,有兴趣的可以访问以下链接:http://blog.sina.com.cn/ ...

  2. BZOJ-2242 计算器 快速幂+拓展欧几里得+BSGS(数论三合一)

    污污污污 2242: [SDOI2011]计算器 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 2312 Solved: 917 [Submit][S ...

  3. POJ2677 Tour(DP+双调欧几里得旅行商问题)

    Tour Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3929   Accepted: 1761 Description ...

  4. URAL1204. Idempotents(扩展欧几里得)

    1204 大体推推 会出来这个式子 x(x-1) = k*n;n = p*q ;x(x-1)%(p*q)==0; 因为p,q都为素数 那也就是说x和x-1中必定包含这两个数 而且一个里面只能有一个 不 ...

  5. 欧几里得旅行商问题 java与c++实现

    双调欧几里得旅行商问题是一个经典动态规划问题.<算法导论(第二版)>思考题15-1 旅行商问题描述:平面上n个点,确定一条连接各点的最短闭合旅程.这个解的一般形式为NP的(在多项式时间内可 ...

  6. [POJ1845&POJ1061]扩展欧几里得应用两例

    扩展欧几里得是用于求解不定方程.线性同余方程和乘法逆元的常用算法. 下面是代码: function Euclid(a,b:int64;var x,y:int64):int64; var t:int64 ...

  7. 【bzoj2242】: [SDOI2011]计算器 数论-快速幂-扩展欧几里得-BSGS

    [bzoj2242]: [SDOI2011]计算器 1.快速幂 2.扩展欧几里得(费马小定理) 3.BSGS /* http://www.cnblogs.com/karl07/ */ #include ...

  8. bzoj 2242: [SDOI2011]计算器【扩展欧几里得+快速幂+BSGS】

    第一问快速幂板子 第二问把式子转化为\( xy\equiv Z(mod P)\rightarrow xy+bP=z \),然后扩展欧几里得 第三问BSGS板子 #include<iostream ...

  9. poj 1845 【数论:逆元,二分(乘法),拓展欧几里得,费马小定理】

    POJ 1845 题意不说了,网上一大堆.此题做了一天,必须要整理一下了. 刚开始用费马小定理做,WA.(poj敢说我代码WA???)(以下代码其实都不严谨,按照数据要求A是可以等于0的,那么结果自然 ...

随机推荐

  1. 使用XmlSerializer序列化可空属性

    使用XmlSerializer可以方便的将对象序列化为xml,实现应用之间的数据交互.但是XmlSerializer却不能很好地序列化类型中的可空字段. 例如,有如下定义的类Person: [Seri ...

  2. @interface NSFileManager : NSObject

    @interface NSFileManager : NSObject NSFileManager操作: 1.文件夹创建删除 2.文件创建删除 3.清除数据缓存 以上办法都在这里:https://de ...

  3. String.format()用法

    package junit.test;   import java.util.Date; import java.util.Locale;   import org.junit.Test;   pub ...

  4. angular state和stateParams

    angular ui-route通过路由传递参数 发送ctrl var model = { data: positionid }; $state.go('app.position.publish', ...

  5. 百度云管家 5.3.6 VIP破解不限速版下载分享|百度云管家破解提速

    百度云管家PC客户端v5.3.6绿色版本,属于VIP破解不限速版.百度网盘为您提供文件的网络备份.同步和分享服务.空间大.速度快.安全稳固,支持教育网加速,支持手机端.它支持便捷地查看.上传.下载云端 ...

  6. uC/OS-II信号(OS_sem)块

    /*************************************************************************************************** ...

  7. [转发]Linux的系统调用宏

    原来在linux/include/linux/syscalls.h 中定义了如下的宏: 复制代码#define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1 ...

  8. Nvidia Nsight + .NET

    https://devtalk.nvidia.com/default/topic/804306/nsight-4-5-can-t-debug-net-applications/ http://comm ...

  9. Embedding Scripts

    Mono http://www.mono-project.com/docs/advanced/embedding/ http://www.mono-project.com/docs/advanced/ ...

  10. Windows Platform Predefined Macros

    https://msdn.microsoft.com/en-us/library/b0084kay.aspx