python最大公約數和最小公倍數


輾轉相除法

最大公約數和最小公倍數的求解方法有很多種,但是我們普遍認為輾轉相除法是最好的。輾轉相除法的步驟如下

  • 比較兩數,並使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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM