兩個數的最大公約數與最小公倍數

2021-07-28 04:39:40 字數 623 閱讀 5291

**1. 問題描述

給出兩個正整數求其最大公約數和最小公倍數。

輸入 第一行輸入乙個整數n表示有n組測試資料;

隨後的n行輸入兩個整數a,b。

輸出 輸出每組測試資料的最大公約數和最小公倍數

樣例輸入

3 6 6

12 11

33 22

樣例輸出

6 6

1 132

11 66

2. 問題分析

輾轉相除法求兩個正整數的最小公約數和最小公倍數。

3. 演算法分析

輾轉相除法:用較小數除較大數,再用出現的餘數(第一餘數)去除除數,再用出現的餘數(第二餘數)去除第一餘數,如此反覆,直到最後餘數是0為止。

最後的除數就是這兩個數的最大公約數,最大公倍數為這兩個數相乘除以最大公約數

#include

int main()

while(r!=0);//輾轉相除

printf("%d

%d\n",a,s

*t/a);

}}

最大公約數 最小公倍數

求最大公約數最直接的辦法是從兩數中較小數與2之間的所有整數中乙個乙個的找。但這個方法有點浪費。有兩種有名的方法 1.輾轉相除法2.更相減損之術這兩種方法比較有名,而且現在人教版的高中數學中已經介紹了這兩種方法。下面這個是第2個,因為它只需要加減法就可以,效率高。int maxfactor unsig...

最小公倍數 最大公約數

求最小公倍數演算法 最小公倍數 兩整數的乘積 最大公約數 求最大公約數演算法 1 輾轉相除法 有兩整數a和 b a b得餘數c 若c 0,則 b即為兩數的最大公約數 若c 0,則 a b,b c,再回去執行 例如求27和 15的最大公約數過程為 27 15 餘12 15 12餘3 12 3餘0 因此...

最大公約數,最小公倍數

兩個數最大公約數 輾轉相除法 在數學中,輾轉相除法,又稱歐幾里得演算法,是求最大公約數的演算法。兩個整數的最大公約數是能夠同時整除它們的最大的正整數。輾轉相除法基於如下原理 兩個整數的最大公約數等於其中較小的數和兩數的差的最大公約數。例如 用 a,b 來表示a和b的最大公約數。已知a,b,c為正整數...