求兩個數的最大公約數我分別採用輾轉相除法,輾轉相減法,列舉法來求得。最小公倍數就是兩個數之積除以最大公約數的結果。
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...