初等数论--整除--欧几里得算法/辗转相除法/更相减损术

  • 欧几里得算法/辗转相除法/更相减损术

博主本人是初学初等数论(整除+同余+原根),本意是想整理一些较难理解的定理、算法,加深记忆也方便日后查找;如果有错,欢迎指正。
我整理成一个系列: 初等数论,方便检索。

欧几里得算法/辗转相除法/更相减损术

设a0,a1∈Z,a1≠0,按照以下步骤,反复作带余除法:a0=a1q+a2,a2<a1a1=a2q+a3,a3<a2a2=a3q+a4,a4<a3……an−2=an−1q+an,an<an−1an−1=anq+an+1,an+1=0我们需要证明,以上必为有限步,且(a0,a1)=an设a_{0},a_{1}\in Z,a_{1}\neq 0,按照以下步骤,反复作带余除法:\\a_{0}=a_{1}q+a_{2},a_{2}<a_{1}\\ a_{1}=a_{2}q+a_{3},a_{3}<a_{2}\\ a_{2}=a_{3}q+a_{4},a_{4}<a_{3}\\ ……\\ a_{n-2}=a_{n-1}q+a_{n},a_{n}<a_{n-1}\\ a_{n-1}=a_{n}q+a_{n+1},a_{n+1}=0\\ 我们需要证明,以上必为有限步,且(a_{0},a_{1})=a_{n}设a0​,a1​∈Z,a1​​=0,按照以下步骤,反复作带余除法:a0​=a1​q+a2​,a2​<a1​a1​=a2​q+a3​,a3​<a2​a2​=a3​q+a4​,a4​<a3​……an−2​=an−1​q+an​,an​<an−1​an−1​=an​q+an+1​,an+1​=0我们需要证明,以上必为有限步,且(a0​,a1​)=an​

  • 以上必为有限步:因为0<an<an−1<…<a2<a1<a0,且a0为整数,它的正整数是有限的,所以n是有限的以上必为有限步:\\因为0<a_{n}<a_{n-1}<…<a_{2}<a_{1}<a_{0},\\且a_{0}为整数,它的正整数是有限的,\\ 所以n是有限的以上必为有限步:因为0<an​<an−1​<…<a2​<a1​<a0​,且a0​为整数,它的正整数是有限的,所以n是有限的
  • (a0,a1)=an:我们已知(a,b)=(a,b+ax),则(a0,a1)=(a0−a1q,a1)=(a2,a1)=(a1,a2),同理,(a1,a2)=(a2,a3),(a2,a3)=(a3,a4)……最终我们得到(a0,a1)=(an−1,an)=an(a_{0},a_{1})=a_{n}:\\ 我们已知(a,b)=(a,b+ax),\\ 则(a_{0},a_{1})=(a_{0}-a_{1}q,a_{1})=(a_{2},a_{1})=(a_{1},a_{2}),\\ 同理,(a_{1},a_{2})=(a_{2},a_{3}),(a_{2},a_{3})=(a_{3},a_{4})……\\ 最终我们得到(a_{0},a_{1})=(a_{n-1},a_{n})=a_{n}(a0​,a1​)=an​:我们已知(a,b)=(a,b+ax),则(a0​,a1​)=(a0​−a1​q,a1​)=(a2​,a1​)=(a1​,a2​),同理,(a1​,a2​)=(a2​,a3​),(a2​,a3​)=(a3​,a4​)……最终我们得到(a0​,a1​)=(an−1​,an​)=an​

初等数论--整除--欧几里得算法/辗转相除法/更相减损术相关推荐

  1. 【C语言】辗转相除法+更相减损术+秦九韶算法

    一.辗转相除法 1.简介 辗转相除法又叫欧几里得算法. 假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里得算法,是这样进行的: 1997 / 615 = 3 (余 152) 615 ...

  2. C++算法:辗转相除法与更相减损术

    辗转相除法与更相减损术 1.我们已经学过求最大公因数的知识,你能求出18与30的公因数吗? 2.如果公因数比较大而且根据我们的观察又不能得到一些公因数,我们又应该怎样求它们的最大公因数?比如求8251 ...

  3. 更相减损术程序设计c语言,更相减损术

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 更相减损术是出自<九章算术>的一种求最大公约数的算法,它原本是为约分而设计的,但它适用于任何需要求最大公约数的场合 ...

  4. 求最大公约数和最小公倍数——辗转相除法(欧几里得算法)、更相减损术、stein算法

    辗转相除法-- 辗转相除法求最大公约数的原理: 两个整数其中较小的数 和 两数相除(较大数除较小数)的余数(使用递归)的最大公约数. 辗转相除法求最小公倍数的原理: 两个整数分别除以最大公约数的结果相 ...

  5. 【原创】更相减损术 stein算法 欧几里得算法 拓展欧几里得算法 扩展欧几里得算法 逆元的计算与筛法 解模线性方程

    欧几里得 说在前面 数论学复习 Part 6. 然后再来一章CRT和组合数,就飞往概率,以此为跳板去向DP. 计划很美啊你. P.S. 这么说来拉格朗日插值可以说是数论学复习的Part 0了啊. 有一 ...

  6. 辗转相除法+更相减损法求最大公约数

    怎么求两个数的最大公约数呢? 简单的想法就是直接暴力枚举,试出最大公约数 #暴力枚举 #暴力枚举 def GCD(numberA,numberB):gcd=1for i in range(2,max( ...

  7. 求最大公约数与最小公倍数 (辗转相除法+更相减损法+Stein算法)

    辗转相除法与更相减损法对比: (1)两者都是求最大公因数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显 ...

  8. 【最大公约数 GCD】 --- 常用四大算法(辗转相除法,穷举法,更相减损法,Stein算法)

    [最大公约数 GCD] --- 常用的四大算法 1. 辗转相除法(又名欧几里德算法) 2. 穷举法(也称枚举法) 3. 更相减损法 (又名辗转相减法) 4. Stein算法 1. 辗转相除法(又名欧几 ...

  9. jzoj3793,P2090-数字对【更相减损术,欧几里得算法,数论】

    正题 题目链接: https://www.luogu.org/problemnew/show/P2090 大意 一个数对(a,b),每次可以变为(a+b,b)或(a,a+b).然后要求一个数对中有n求 ...

最新文章

  1. php 邮件类库,【php发送邮件类库】10个php发送邮件类库下载
  2. Bitcoin 地址原理(3)公钥地址到比特币地址
  3. python restful django_如何使用Django / Python从RESTful Web服务中使用XML?
  4. 深度linux引导安装,全程演示Linux Deepin 12.06安装过程
  5. Android Training精要(六)如何防止Bitmap对象出现OOM
  6. java annotation 实现_在Java中如何实现自己的annotation
  7. 值得玩味儿的14个Python编程小技巧
  8. PyTorch 1.2 中文文档校对活动 | ApacheCN
  9. 荣耀Magic4性能体验超苹果再次实锤!非官方游戏性能对比出炉
  10. 转一篇关于IIS用户权限的帖子
  11. matlab知识集锦
  12. C# Win32API
  13. C# 图解教程 第一章 C#和.NET框架
  14. [转] 驱动模拟键盘鼠标
  15. 汇编语言典型例子详解_经典汇编程序100例
  16. 什么是数据可视化大屏?如何制作一个数据可视化大屏?
  17. div左对齐与里面的内容偏左但是距离左边有点儿距离
  18. 20几岁要懂点经济学【笔记】
  19. C++MYSQL:获取表结构:MYSQL_FEILD
  20. 计算几何之旋转卡壳算法

热门文章

  1. java openssl 开发_java openssl
  2. vscode怎么运行verilog语言_VScode中不同语言使用不同字体,如C/C++,VHDL
  3. itextpdf api帮助文档_我开源了一个小工具,可以帮你轻松生成 SpringBoot API 文档...
  4. 成功解决raise ValueError(‘No model found in config file.‘) ValueError: No model found in config file.
  5. CV:计算机视觉技术之图像基础知识—以python的cv2库来了解计算机视觉图像基础
  6. 成功解决AttributeError: ‘str‘ object has no attribute ‘decode‘
  7. DL之Mask R-CNN:2018.6.26世界杯阿根廷队VS尼日利亚比赛2:1实现Mask R-CNN目标检测
  8. Autolisp:利用AuoCAD之Lisp编程案例之自动智能获取所选对象的面积并标注在指定位置
  9. 风控业务-模型稳定性评价指标PSI
  10. Informatic 使用过程中的问题