前言
提到最大公約數,那麼就不得不說什麼是公約數,它是一個能被若干個整數同時均整除的整數。如果一個整數同時是幾個整數的約數,稱這個整數為它們的「公約數」;公約數中最大的稱為最大公約數。對任意的若干個正整數,1總是它們的公因數。
舉個例子:30和40的公約數有:1,2,5,10,那麼10是這幾個裡面最大的,就是30和40的最大公約數。
python求最大公約數
1.python求最大公約數設計思路
給定兩個數,從1開始嘗試,步長為1逐漸遞增,為了優化算法,只需要循環到兩個數中最小的那個數就可以。所以,第一步就是計算出兩個數中最小的數,然後利用for循環從1到最小的那個數進行枚舉,如果該數能夠同時被兩個數整除,則記錄下來,直到循環結束,最後,最大的這個就是最大公約數。
特別注意:這裡會用到range函數,range(0,5)的結果為0,1,2,3,4注意是沒有5的,因此在本例中循環時應該是從1到最小的那個數+1才對。
2.最大公約數的python實現
說明:在上面的代碼中,我們會用到自定義函數的定義方法:def ,兩個數的最小數的判斷方法,for循環和枚舉取值,整除取餘,輸入輸出等內置函數。
結語
有條件的多加練習,主要還是有個算法思路最重要,在不斷的實踐中驗證算法的優劣和正確性。