求兩個正整數的最大公約數Python版

2021-08-27 09:00:26 字數 1211 閱讀 2417

求兩個數的最大公約數我分別採用輾轉相除法,輾轉相減法,列舉法來求得。最小公倍數就是兩個數之積除以最大公約數的結果。

1.將兩整數求餘 a%b = x

2.如果x = 0;則b為最大公約數 

3.如果x != 0,則 a = b;b = x;繼續從1開始執行

4.也就是說該迴圈的是否繼續的判斷條件就是x是否為0

#輾轉相除法

def fun1(a,b):

x = a % b

while (x != 0):

a = b

b = x

x = a % b

return b

1.如果a>b ,a = a - b;

2.如果b>a ,b = b - a;

3.假如a = b ,則 a或b  是最大公約數

4.如果a != b,則繼續繼續相減,直至a = b

#輾轉相減法

def fun2(a,b):

while a != b:

if a > b:

a = a - b

else:

b = b - a

return b

1.選出a,b中最小的乙個數字放到min中

2.分別用a,b對i求餘數,即看是否能被整除

3.直到a,b同時都能被i整除

4.如不能整除,i加一 繼續開始執行,直到i等於min

#列舉法

def fun3(a,b):

if a < b:

min = a

else:

min = b

i = 1

while i < min:

if a % i == 0:

if b % i == 0:

x = i

i += 1

return x

求兩個正整數的最大公約數

基本要求 從鍵盤輸入兩個整數,輸出兩個整數的最大公約數。用c或c 語言實現程式解決問題。1.程式風格良好 使用自定義注釋模板 2.使用三種演算法解決問題 3.提供友好的輸入輸出,並進行輸入資料的正確性驗證 方法一 窮舉法 窮舉法,顧名思義,就是乙個乙個試,即遍歷兩個整數中較小的數到零的所有數,如果能...

求兩個正整數的最大公約數

求兩個正整數的最大公約數問題 版本 v1.0 主要功能 1 輾轉相除法 a b得餘數c 若c 0,則b即為兩數的最大公約數,結束 若c 0,則a b,b c,再回去執行 2 相減法 兩整數a和b 若a b,則a a b 若a b,則a 或b 即為兩數的最大公約數,結束 若a b,則再回去執行 3 窮...

給定兩個正整數,求它們的最大公約數。

題目 給定兩個正整數,求它們的最大公約數。include include using namespace std 利用遞迴的思想求最大公約數 關鍵要理解第一次求最大公約數未果 之後,這時候第一次要求的最大公約數就等於 求b對a b的最大公約數,於是產生遞迴關係。int fun int a,int b...