"""用輾轉相除法求最大公約數的演算法如下:
兩個正整數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:
"""while b !=0:
temp = a %b
a, b =b, temp
return
adef
zuijianbi(a, b):
"""求最簡整數比
:param a:
:param b:
:return:
"""bigcommon =gongyue(a, b)
return a//bigcommon, b//bigcommon
print("
最大公約數:
", gongyue(1920, 1080))
print("
最簡整數比:
", zuijianbi(1920, 1080))
最大公約數: 120最簡整數比: (16, 9)
輾轉相除法求兩數最大公約數
輾轉相除法是求兩個自然數的最大公約數的一種方法,也叫歐幾里德演算法。例如,求 319,377 319 377 0 餘319 319,377 377,319 377 319 1 餘58 377,319 319,58 319 58 5 餘29 319,58 58,29 58 29 2 餘0 58,29 ...
求若干數的最大公約數
求若干數的最大公約數可以利用將其轉化為求兩個數的最大公約數,將求得的最大公約數再與第三個數一起求最大公約數,直到最後乙個數結束。下面介紹求倆個數的最大公約數的方法,具體求多個數的的程式我沒有具體去寫,思路就是這樣。求最大公約數演算法 1 輾轉相除法 兩整數a和b a b得餘數c 若c 0,則b即為兩...
求兩個數最大公約數
題目 寫乙個程式,求兩個正數的最大公約數。如1100100210001,120200021,求其最大公約數 分析 設兩個數分別為x,y 求其最大公約數f x,y 如果有x 2 0而y 2不等於0,那麼可以 約簡為f x 2,y 同樣道理適用於y 如果x與y都是偶數,那麼最大公約數可以為f x 2,y...