求最大公约数伪代码

一、什么是辗转相除法

欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。

https://baike.baidu.com/item/%E6%AC%A7%E5%87%A0%E9%87%8C%E5%BE%97%E7%AE%97%E6%B3%95/1647675?fromtitle=%E8%BE%97%E8%BD%AC%E7%9B%B8%E9%99%A4%E6%B3%95&fromid=4625352&fr=aladdin

二、伪代码实现
if b==0
    return a
else
return GCD(b,a mod d)
 
假如需要求 2020 和 520 两个正整数的最大公约数,用欧几里得算法,是这样进行的:
2020 / 520 = 3 (余 460)
520 / 460 = 1(余60)
460 / 60 = 7(余40)
60 / 40 = 1 (余20)
40 / 20 = 2 (余0)
至此,最大公约数为20
以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数,所以就得出了 2020 和 520 的最大公约数 20。
posted @ 2020-11-08 19:07  直蓝  阅读(188)  评论(0编辑  收藏  举报