獲取兩數最大公約數和最簡整數比

2022-06-15 11:24:10 字數 687 閱讀 5773

"""

用輾轉相除法求最大公約數的演算法如下:

兩個正整數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...