欧几里德算法及python脚本实现
欧几里德算法又称辗转相除法, 用于计算两个整数a, b的最大公约数。其计算原理依赖于下面的定理:

定理: gcd(a, b) = gcd(b, a mod b)

定理证明:
  a可以表示成a = kb + r, 则r = a mod b
 (1) 先假设d是a, b的一个公约数, 则有  d|a, d|b, 而r = a - kb, 等式两边同时除以d,则r/d=a/d - kb/d。因为d是a,b的一个公约数,则r也可以被d整除,因此d|r。所以,d是(b, a mod b)的公约数。

 (2)反过来,如果d是(b,a mod b)的公约数,则d|b, d|r, 由于a = kb + r,因此d也是(a, b)的公约数。
 (3) 综上所述,(a, b) 和(a, a mod b)的公约数是一样的,其最大公约数也必然相等,得证。

欧几里德的Python语言描述为:


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/American199062/article/details/51547057
文章标签: python编程 算法
个人分类: 数据结构与算法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

欧几里德算法及python脚本实现

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭