1个常识:

如果 a≥b 并且 b≤a,那么 a=b.

2个前提:

1)只在非负整数范围内讨论两个数 m 和 n 的最大公约数,即 m, n ∈ N.

2)0可以被任何数整除,但是0不能整除任何数,即 ∀x(x|0) and ∀x(0| x).

1个引理:

假设 k|a, k|b,则对任意的 x,y  ∈
Z, k|(xa+yb)均成立.

证明:

  k|a => a=pk, k|b => b==qk (其中 p,q ∈ Z)

  于是有 xa+yb=xpk+yqk=(xp+yq)k

  因为 k|(xp+yq)k, 所以 k|(xa+yb)

gcd的Euclid算法证明:

命题:对任意 m, n ∈ N,证明gcd(m,n) = gcd(n, m mod n)

证明:

  令 k=gcd(m,n),则 k|m 并且 k|n;

  令 j=gcd(n, m mod n), 则j|n 并且 j|(m mod n);

  对于m, 可以用n 表示为 m=pn+(m mod n);

  由引理可知 j|m(其中 x=p,y=1), 又 j|n,于是 j 是 m 和 n 的公约数(但不一定是最大的);

  因为 k 是 m 和 n 的最大公约数,所以必有 k≥j;

  通过另一种表示形式:(m mod n)=m-pn,同理可得:

  k|(m mod n),又k|n,于是 k 是 (m mod n) 和 n 的公约数(也不一定是最大的);

  同样由 j 是 n 和 (m mod n) 的最大公约数可以得到
j≥k;

  由常识,得出结论 k=j,

  即gcd(m,n) = gcd(n, m mod n) ,得证。

源 http://www.cnblogs.com/ider/archive/2010/11/16/gcd_euclid.html

最大公约数(gcd):Euclid算法证明的更多相关文章

  1. 求两个数的最大公约数(Euclid算法)

    求两个数 p 和 q 的最大公约数(greatest common divisor,gcd),利用性质 如果 p > q, p 和 q 的最大公约数 = q 和 (p % q)的最大公约数. 证 ...

  2. 最大公约数与欧几里得(Euclid)算法

    ---恢复内容开始--- 记a, b的最大公约数为gcd(a, b).显然, gcd(a,b)=gcd(|a|,|b|). 计算最大公约数的Euclid算法基于下面定理: [GCD递归定理]对于任意非 ...

  3. 使用Euclid算法求最大公约数

    参考文章 1.<linux c编程一站式学习>的习题5.3.1 2.百度百科Euclid算法:https://baike.baidu.com/item/Euclid%E7%AE%97%E6 ...

  4. Gcd&Exgcd算法学习小记

    Preface 对于许多数论问题,都需要涉及到Gcd,求解Gcd,常常使用欧几里得算法,以前也只是背下来,没有真正了解并证明过. 对于许多求解问题,可以列出贝祖方程:ax+by=Gcd(a,b),用E ...

  5. EM算法(4):EM算法证明

    目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法运用 EM算法(4):EM算法证明 EM算法(4):EM算法证明 1. 概述 上一篇博客我们已经讲过 ...

  6. 1011 最大公约数GCD

    1011 最大公约数GCD 基准时间限制:1 秒 空间限制:131072 KB 输入2个正整数A,B,求A与B的最大公约数. Input 2个数A,B,中间用空格隔开.(1<= A,B < ...

  7. 51Nod--1011最大公约数GCD

    1011 最大公约数GCD 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 输入2个正整数A,B,求A与B的最大公约数. Input 2个数A,B,中间用 ...

  8. 最大公约数(GCD)与最小公倍数(LCM)的计算

    给出两个数a.b,求最大公约数(GCD)与最小公倍数(LCM) 一.最大公约数(GCD)    最大公约数的递归:  * 1.若a可以整除b,则最大公约数是b  * 2.如果1不成立,最大公约数便是b ...

  9. Educational Codeforces Round 39 Editorial B(Euclid算法,连续-=与%=的效率)

    You have two variables a and b. Consider the following sequence of actions performed with these vari ...

随机推荐

  1. Java学习笔记--集合元素的比较Comparable,Comparator

    原文见: http://www.cnblogs.com/sunflower627/p/3158042.html 1. Comparator 和 Comparable 相同的地方 他们都是java的一个 ...

  2. Lintcode--011(打劫房屋2)

    在上次打劫完一条街道之后,窃贼又发现了一个新的可以打劫的地方,但这次所有的房子围成了一个圈,这就意味着第一间房子和最后一间房子是挨着的.每个房子都存放着特定金额的钱.你面临的唯一约束条件是:相邻的房子 ...

  3. (转) 如何命令查找linux系统版本!

    一.查看内核版本命令: 1) [root@SOR_SYS ~]# cat /proc/versionLinux version 2.6.18-238.el5 (mockbuild@x86-012.bu ...

  4. QTabWidget添加自定义样式

    一.参考文章:http://bbs.csdn.net/topics/390632657?page=1 setStyleSheet("QTabWidget::pane{border-width ...

  5. MySQL常用时间函数

    官方文档:Date and Time Functions Name Description ADDDATE() Add time values (intervals) to a date value ...

  6. logstash nginx 报ArgumentError: comparison of String with 5 failed

    80.82.78.38 [23/Sep/2016:05:36:18 +0800] "GET http://www.baidu.com/cache/global/img/gs.gif HTTP ...

  7. 【转】Java.Math API 反正切算角度(四个象限情况要调整)

    原文网址:http://hunter090730.iteye.com/blog/485770 Math.PI 记录的圆周率Math.E 记录e的常量Math中还有一些类似的常量,都是一些工程数学常用量 ...

  8. NOI2015 小园丁与老司机

    http://uoj.ac/problem/132 这道题前2行的输出比较容易,就是简单的动态规划,然后第3行就是比较少见的有上下界的最小流. 前2行比较容易,我们讨论一下第3行的解法吧. 比如第1个 ...

  9. bzoj1681[Usaco2005 Mar]Checking an Alibi 不在场的证明

    Description A crime has been comitted: a load of grain has been taken from the barn by one of FJ's c ...

  10. 免费 Bootstrap 管理后台模块下载

    在这文章中我们将分享17+个最好的免费 Bootstrap 管理模板.你可以免费下载这些Twitter bootstrap 框架来开发网站后台. SB Admin 2 SB Admin is a fr ...