在Python 中實現最大公約數操作 - Delft Stack

文章推薦指數: 80 %
投票人數:10人

最大公約數(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



請為這篇文章評分?