描述

如果p和q的最大公约数是r,那么q和p%q的最大公约数也是r。

证明

讨论范围p q r都是自然数
必然存在p = mq + n (m n为自然数), 其中n = p % q。
等式两边除以r得 p/r = (mq + n)/r
即 p/r = m * q/r + n/r
∵ r是p和q的最大公约数
∴ p/r是自然数,q/r是自然数
∴ n/r = p/r - m * q/r , n/r也是自然数
∴ r是q和n的公约数
设R是q和n的最大公约数。那么R>=r。
由p = mq + n得 m * q/R + n/R = p/R
∵ q/R 和 n/R 为自然数
∴ p/R 为自然数
∴ R为p和q的公约数
∵ r是p和q的最大公约数
∴ R<= r
又 R>=r
∴ R=r 即 r是q和n的最大公约数
因此如果p和q的最大公约数是r,那么q和p%q的最大公约数也是r。

证明欧几里得最大公约数算法相关推荐

  1. 欧几里得最大公约数算法

    本文地址:http://www.cnblogs.com/HarryGuo2012/p/4785167.html 最大公约数 想必大家小学就学过什么事最大公约数吧,现在给出一个数学上的定义:定义$g$是 ...

  2. [2016 NUIST 程序设计竞赛] B. 欧几里得的公约数

    描述 古希腊数学家欧几里得被称为"几何之父",他最著名的著作<几何原本>是欧洲数学的基础,提出五大公式,欧几里得几何,被广泛的认为是历史上最成功的教科书.欧几里德算法又 ...

  3. 扩展欧几里得算法_扩展欧几里得递推算法

    欧几里得算法 表示 整数 a 与 b 的最大公约数. 若 t = a % b, 则 证明略. 递推版 gcd 算法 gcd 接受变量元组 (a, b) 作为输入,输出最大公约数 (r). 我们很难直接 ...

  4. 数论-欧几里得最大公约数- same gcd

    same gcd 题解 题意 ​ 给定a,b,问有多少个x(0<=x<b)满足gcd(a,b)=gcd(a+x,b) 思路 d = g c d ( a , b ) = g c d ( a ...

  5. 【算法学习】双调欧几里得旅行商问题(动态规划)

    双调欧几里得旅行商问题是一个经典动态规划问题.<算法导论(第二版)>思考题15-1和北京大学OJ2677都出现了这个题目. 旅行商问题描述:平面上n个点,确定一条连接各点的最短闭合旅程.这 ...

  6. 扩展欧几里得及其应用

    欧几里得算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数.其计算原理依赖于下面的定理:gcd(a,b)=gcd(a,a mod b) gcd函数就是用来求(a,b)的最大公约数的. ...

  7. Java实现算法导论中求解模线性方程解(基于最大公约数欧几里得扩展算法)

    基于最大公约数欧几里得扩展算法求解算法导论中模线性方程解.具体要结合算法导论中的有关数论算法章节理解,具体代码如下: package cn.ansj;/*假设方程ax=b(mod n)有解,且x0是方 ...

  8. C语言求最大公约数欧几里得Euclid算法(附完整源码)

    最大公约数欧几里得Euclid算法 最大公约数欧几里得Euclid算法完整源码(定义,实现,main函数测试) 最大公约数欧几里得Euclid算法完整源码(定义,实现,main函数测试) #inclu ...

  9. 欧几里得算法求最大公约数python,算法:欧几里得求最大公约数(python版)

    #欧几里得求最大公约数 #!/usr/bin/env python #coding -*- utf:8 -*- #iteration def gcd(a,b): if b==0: return a e ...

最新文章

  1. 松翰松翰c语言编程指导,松翰C程序检单例程代码下载
  2. 新ITC提交APP常见问题与解决方法(Icon Alpha,Build version,AppIcon120x120)(2014-11-17)
  3. 【NOIP2007】【Luogu1094】纪念品分组(贪心,乘船问题)
  4. 24. Leetcode 61. 旋转链表 (链表-基础操作类-旋转链表)
  5. 伪共享(false sharing),并发编程无声的性能杀手
  6. Android Telephony分析(七) ---- 接口扩展(异步转同步)
  7. 2017.09.21学习总结
  8. (转)基于MVC4+EasyUI的Web开发框架经验总结(5)--使用HTML编辑控件CKEditor和CKFinder...
  9. github上传文件 linux,第一次上传代码到github (Linux)
  10. 排序算法专题-插入排序
  11. 计时器ajax,使用AJAX请求计时器
  12. android studio for android learning (一)
  13. 著者四角号码查询_古籍检索史料检索.ppt
  14. 利用MATLAB进行符号运算。
  15. 可以放游戏网站云服务器,游戏网站选择哪个云服务器好?游戏服务器配置方案?...
  16. WBADMIN 命令手册
  17. tesseract安装使用
  18. mysql中information_schema数据库
  19. java 系统 类_Java常用实体类--System类
  20. Dancing Line、网易蜗牛读书——创新性分析

热门文章

  1. IC卡读卡器web插件与异步await/async接口
  2. python数据库编程dbf_如何使用Python dbf库读取和创建新的foxpro2.6数据库表
  3. javascript-浏览器的发展史
  4. SQL HAVING用法详解
  5. cn.codeaurora.org: 域名解析暂时失败
  6. 【计算机图形学】Embedded Deformation for shape manipulation在嵌入空间中变形
  7. C语言中快速排序法(从小到大)实现过程详细分析
  8. 塑造价值的力量 | 摸鱼系列
  9. Chipscope调试工具使用说明
  10. 词语相似度计算方法总结