python最大公约数和最小公倍数

枫铃3年前 (2021-09-30)Python272

辗转相除法

最大公约数和最小公倍数的求解方法有很多种,但是我们普遍认为辗转相除法是最好的。辗转相除法的步骤如下:

  • 比较两数,并使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

最小公倍数

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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

相关文章

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。