求最大公约数的算法

十月 21st, 2010, in 程序人生, by None

最大公约数

回顾一下中学学过的数学课程中最大公约数的定义,两个整数的最大公约数是能够同时整除它们的最大的正整数。 在数学中,辗转相除法,又称欧几里得算法,是求最大公约数的算法。

辗转相除法原理

辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。

算法代码

伪代码: function gcd(a, b) if a = 0 return b while b ≠ 0 if a > b a := a − b else b := b − a return a 递归版本: function gcd(a, b) if b = 0 return a else return gcd(b, a mod b) 参考链接:辗转相除法-维基百科

发表回复

您的 email 地址不会被公开。 必填信息前已经标志为 *

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>