选自《费马大定理:一个困惑了世间智者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. ansible模块lineinfile

    示列: sshd_set.yaml --- - hosts: test remote_user: root gather_facts: False tasks: - name: set hostnam ...

  2. 遵循PSR-4的自动加载

    一.简介 首先这里要了解PSR,Proposing a Standards Recommendation(提出标准建议)的缩写,就是一种PHP开发规范,让我们研发出来的代码更合理.更好维护.可读性更高 ...

  3. PHP设计模式(三)

    注册器模式 这种模式比较简单好理解,在PHP框架中会经常用到,在某些比较大的PHP框架中,会在初始化时将一些常用的类实例放在注册器中,实际是存在注册器类中的一个静态数组中,以后想去用它的话,直接根据名 ...

  4. ExceptionLess新玩法 — 记日志

    ExceptionLess 之前也有介绍过这个框架,其实网上也有很多的资料,无论是部署还是一些详细的高级玩法都讲的很清楚也很棒,博主也学习了一些他们的博文,因为很多的东西比如本地部署别人已经写了,我再 ...

  5. U盘容量减少的解决办法

    今天是使用以前的U盘的时候发现原来4G的U盘容量居然只剩下了700M,不是说u盘的可用空间是700M,而是在电脑上面显示的总空间为700M.在电脑上面格式化之后也没起作用. 经过Google找到了在w ...

  6. HDU 1846 Brave Game(巴什博弈)

    题目链接: 传送门 Brave Game Time Limit: 1000MS     Memory Limit: 65536K 题目描述 各位勇敢者要玩的第一个游戏是什么呢?很简单,它是这样定义的: ...

  7. MongoDB安装部署(一)

    前言 MongoDB是一个由C++语言编写的基于分布式文件存储的数据库,是当前NoSQL数据库中比较热门的一种,旨在为Web应用提供可扩展的高性能数据存储解决方案. MongoDB 简介 MongoD ...

  8. 常见linux命令释义(第二天)

    查看磁盘与目录的容量. df 与du df  是英语Disk Free的意思.磁盘空余. df -h  -h中h指的是一human(人类)的角度,即用GB,MB的格式显示.这个比较常用,还有其他的选项 ...

  9. global--命名空间的使用(一些零散的js方法)

    var GLOBAL = {}; GLOBAL.namespace = function (str) { var arr = str.split('.'), o = GLOBAL; for (var ...

  10. bootstrap学习总结-02 网格布局

    1  网格布局 Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列. <!DOCTYPE html> ...