您好,登錄后才能下訂單哦!
python怎么求最大公約數和最小公倍數
一、求最大公約數
用輾轉相除法求最大公約數的算法如下:
兩個正整數a和b(a>b),它們的最大公約數等于a除以b的余數c和b之間的最大公約數。比如10和25,25除以10商2余5,那么10和25的最大公約數,等同于10和5的最大公約數。
具體代碼如下:
def gongyue(a, b): """ 歐幾里得算法----輾轉相除法 :param a: 第一個數 :param b: 第二個數 :return: 最大公約數 """ # 如果最終余數為0 公約數就計算出來了 while(b!=0): temp = a % b a = b b = temp return a
二、求最小公倍數
求出a,b的最大公約數后,利用gongbei(a,b) = (a*b)/gongyue(a,b) 計算出兩個數的最小公倍數:
# 求兩個數的最小公倍數 def gongbei(a,b): return a * b / gongyue(a, b)
知識點補充:
1. 求最小公倍數的算法:
最小公倍數 = 兩個整數的乘積 / 最大公約數
所以我們首先要求出兩個整數的最大公約數, 求兩個數的最大公約數思路如下:
2. 求最大公約數算法:
① 整數A對整數B進行取整, 余數用整數C來表示 舉例: C = A % B
② 如果C等于0,則C就是整數A和整數B的最大公約數
③ 如果C不等于0, 將B賦值給A, 將C賦值給B ,然后進行 1, 2 兩步,直到余數為0, 則可以得知最大公約數
以上就是本次介紹的全部相關知識點,感謝大家的學習和對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。