在Python 中實現最大公約數操作 - Delft Stack
文章推薦指數: 80 %
最大公約數(GCD),也稱為兩個值的最高公因數(HCF),是將兩個給定數相除的最大數。
最大公約數也可以用Python 計算和實現。
本教程演示了在Python 中 ...
Python貼士
在Python中根據函式的字串名稱呼叫函式
Python從路徑獲取不帶副檔名的檔名
加密Python字串
在Python中向檔案寫入字串
Python中的隨機種子函式
reportthisad
貼士文章
Python貼士
在Python中實現最大公約數操作
使用遞迴在Python中實現GCD的程式碼
在Python中使用for迴圈實現最大公約數的程式碼
在Python中使用歐幾里德演算法實現最大公約數的程式碼
在Python中使用math.gcd()函式計算最大公約數
最大公約數(GCD),也稱為兩個值的最高公因數(HCF),是將兩個給定數相除的最大數。
最大公約數也可以用Python計算和實現。
本教程演示了在Python中實現最大公約數的程式碼的不同方法。
使用遞迴在Python中實現GCD的程式碼
在函式定義塊中呼叫自身的函式稱為遞迴。
遞迴可用於建立計算兩個數字的GCD的函式。
這個過程對於減少程式碼長度非常有用,並且可以方便地減少不必要的函式呼叫。
下面的程式碼使用遞迴來實現Python中最大公約數的程式碼。
defgcd1(x,y):
if(y==0):
returnx
else:
returngcd1(y,x%y)
x=72
b=60
print("Thegcdis:",end="")
print(gcd1(72,60))
上面的程式給出了以下結果。
輸出:
Thegcdis:12
在Python中使用for迴圈實現最大公約數的程式碼
一個簡單的for迴圈和if-else語句可以幫助實現與本文中的其他方法相同的任務。
以下程式碼使用for迴圈來實現Python中最大公約數的程式碼。
defgcd2(a,b):
ifa>b:
small=b
else:
small=a
foriinrange(1,small+1):
if((a%i==0)and(b%i==0)):
gcd=i
returngcd
a=72
b=60
print("Thegcdis:",end="")
print(gcd2(72,60))
上面的程式碼給出了以下結果。
輸出:
Thegcdis:12
在Python中使用歐幾里德演算法實現最大公約數的程式碼
歐幾里得演算法是另一種能夠快速計算兩個數的最大公約數的技術。
歐幾里得演算法是根據兩個主要事實來定義的。
如果較小的數字減去較大的數字,則GCD沒有變化。
因此,我們最終找到了兩個數字中較大值的繼續減法的GCD。
如果我們除以較小的數,而不是在此處進行減法,演算法會在遇到餘數0時自動停止。
下面的程式使用歐幾里得演算法來實現Python中最大公約數的程式碼。
defgcd3(p,q):
while(q):
p,q=q,p%q
returnp
p=72
q=60
print("Thegcdis:",end="")
print(gcd3(72,60))
該程式碼提供了以下結果。
輸出:
Thegcdis:12
在Python中使用math.gcd()函式計算最大公約數
現在,我們可以簡單地使用預定義的math.gcd()函式來計算兩個數字的GCD,而不是建立使用者定義的函式。
math模組需要匯入到Python程式碼中才能使用gcd()函式。
以下程式碼使用math.gcd()函式來計算Python中的最大公約數。
importmath
a=math.gcd(72,60)
print(a)
上面的程式提供了以下結果。
輸出:
12
在Python3.5及更高版本中,gcd函式包含在math模組中。
在早期的Python版本中,gcd函式包含在fractions模組中。
但是,從Python3.5開始,它現在已被棄用。
相關文章-PythonNumber
在Python中查詢數字中的位數
在Python中宣告一個沒有值的變數在Python中將Docx轉換為PDF
xx
延伸文章資訊
- 1Python 求两个正整数的最大公因数和最小公倍数 - CSDN博客
a, b = eval(input("输入两个正整数:")) c = a * b # 求最大公因数,用辗转相除法。 if a < b: a, b = b, a while a % b != 0:...
- 2Python 最大公约数算法 - 菜鸟教程
Python 最大公约数算法Python3 实例以下代码用于实现最大公约数算法: 实例(Python 3.0+) [mycode3 type='python'] # Filename : tes...
- 3CH6. 迴圈-習題 - 菲絲恩教你學會Python
請寫一支程式能夠輸入兩個數字,然後輸出這兩個數字的最大公因數。 觀看解答.
- 4最大公因數( 多個數字) - Python 教學
基本原理. 要求出有多個數字的最大公因數,最簡單的方法就是先將「最小的數字」當作「暫定的 ...
- 5在Python 中實現最大公約數操作 - Delft Stack
最大公約數(GCD),也稱為兩個值的最高公因數(HCF),是將兩個給定數相除的最大數。最大公約數也可以用Python 計算和實現。 本教程演示了在Python 中 ...