求兩個整數的最大公約數和最小公倍數

2021-05-10 15:32:13 字數 565 閱讀 9734

以前寫的,直接複製過來。

求兩個整數的最大公約數和最小公倍數。

演算法思想:最小公倍數 = 兩個整數之積  /  最大公約數

求最大公約數的演算法:假設 m > n (1)若 m / n 餘數為 0 (m % n == 0),則n 為最大公約數。(2)若 m % n != 0  ,令 r = m % n; 等式可以寫成

m = n * x + r  ,在向下 可以求 n % r 如果餘數為0, r 就是m 和 n 的最大公約數,如果餘數不為0,繼續向下尋求被除數和餘數 求模 餘數為 0 的一組。最後的被除數就是 m 和 n 的最大公約數 。

m = n * x + r = r *(( x * x) + 1) +p = ............(x 為商)

(演算法是自己想的,如有錯誤請指正)

//求兩個整數的最大公約數和最小公倍數

#include

using namespace std;

int main()

r = m % n;

while(r != 0)

cout<<"最大公約數為:"return 0;

}

求兩個整數的最大公約數和最小公倍數

求兩個數的最大公約數和最小公倍數 coding utf 8 x int raw input r 請輸入乙個正整數 y int raw input r 請輸入乙個正整數 def hcf x,y if x y smaller y else smaller x for i in range smaller...

求兩個整數的最大公約數和最小公倍數

編寫兩個函式,分別求兩個整數的最大公約數和最小公倍數,在主函式調 用這兩個函式,並輸出結果。兩個整數由鍵盤輸入。如下 def max num num1,num2 if num1 num2 for i in range num2,1,1 if num1 i 0and num2 i 0 print st...

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

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