python求最大公約數和最小公倍數的簡單方法

2022-10-04 03:51:10 字數 889 閱讀 5054

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):

retu a * b / gongyue(a, b)

知識點補充:

1. 求最小公倍數的演算法:

最小公倍數 = 兩個整數的乘積 / 最大公約數

所以我們首先要求出兩個整數的最大公約數, 程式設計客棧求兩個數的最大公約數思路如下:

2. 求最大公約數演算法:

① 整數a對整數b進行取整, 餘數用整數c來表示 舉例: c = a % b

② 如果c等於0,則c就是整數a和整數b的最大公約數

③ www.cppcns.com如果c不等於0,www.cppcns.com 將b賦值給a, 將c賦值給b ,然後進行 1, 2 兩步,直到餘數為0, 則可以得知最大公約數

求最大公約數

最新用了三種演算法實現了求最大公約數的演算法,用的c 寫的,最大公約數也是我們生活中常見的問題 1 窮舉法 主要 如下 if a b for i 1 i a i 演算法分析 窮舉法先將a,b兩值比較大小並且互換,再進行與各種數的整除,如果這個數能同時被a,b整除,那麼這個數就為最大公約數,這種演算法...

求最大公約數

暴力列舉法很簡單,從較小整數的一班開始,試圖找到乙個合適的整數i,檢查這個整數i是否被a和b同時整除 暴力列舉法求最大公約數 param a param b return public static int getgreatestcommondivisor v1 int a,int b for in...

求最大公約數

1.輾轉相除法 a.具體思路 兩個正整數a和b a b 它們的最大公約數等於a除以b的餘數c和b之間的最大公約數。比如10和25,25除以10商2餘5,那麼10和25的最大公約數,等同於10和5的最大公約數。有點類似動態規劃的思想,逐步減小問題規模,最後求到問題的解。int test1 int a,...