本篇介绍如何求2个整数的最大公约数,按《算法图解》中的思路也就是给你一块矩形土地,如何将其等分成面积最大的若干个方形?
欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。
# 计算2个数最大公约数,欧几里得、辗转相除法 # 此处假设a>=b def gcd(a, b): if b == 0: return a else: return gcd(b, a % b) # 输出80 print(gcd(1680, 640))