python求最大公約數和最小公倍數的兩種方法

2021-08-27 23:41:34 字數 713 閱讀 1464

最大公約數和最小公倍數的求解可以歸結為求最大公約數,最小公倍數為兩數乘積除以最大公約數

這裡介紹兩種求解方法,一種數常規易於理解的,一種是用輾轉相除法實現的

# 求最大公倍數和最小公約數

a=int(input("輸入乙個數字"))

b=int(input("再輸入乙個數字"))

m=if a>b:

smaller=b

else:

smaller=a

for i in range(1,smaller+1):

if (a%i==0) and (b%i==0):

continue

n=m[-1]

print ("%d和%d的最大公約數為:%d" %(a,b,n))

print ("%d和%d的最小公倍數為:%d" %(a,b,a*b//n))

# 輾轉相除法求最大公約數和最小公倍數

a, b = map(int, input("輸入兩個數").split())

a1, b1 = a, b

res = a1 % b1

while res != 0:

a1 = b1

b1 = res

res = a1 % b1

print("最大公約數為:"+str(b1)+"最小公倍數為:"+str(a*b/b1))

求最大公約數

最新用了三種演算法實現了求最大公約數的演算法,用的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,...