辗转相除法
最大公约数和最小公倍数的求解方法有很多种,但是我们普遍认为辗转相除法是最好的。辗转相除法的步骤如下:
- 比较两数,并使m>n;
- 将m作被除数,n做除数,相除后余数为r;
- 循环判断r,若r==0,则n为最大公约数,结束循环。若r !=0 ,执行m=n,n=r;
最大公约数
def gcd(x, y): m = max(x, y) n = min(x, y) while m%n: m, n = n, m%n return n
最小公倍数
def lcm(x, y): m = max(x, y) n = min(x, y) while m%n: m, n = n, m%n return x*y//n
python自带gcd函数
>>> import math >>> print(math.gcd(10,15)) 5