C語言 求最大公約數與最大公倍數(輾轉相除法)

2021-10-03 05:41:40 字數 585 閱讀 7927

求最大公約數與最大公倍數的思路

最小公倍數與最大公約數的演算法:根據 最小公倍數 = 兩整數的乘積 / 最大公約數

所以我們只需求出最大公約數即可;

最大公約數的求法(輾轉相處法):例有兩個整數為 81 72 ;將大數除小數得餘數1; 再將小數除餘數1得餘數2,若餘數2為零則餘數1為最大公約數;若餘數2不為0,則繼續上方的步驟;

2.源**如下:

#include

intmain()

//將兩個整數以大的在前小的在後的順序排列

reminder = intger_1 % intger_2;

if(reminder ==0)

printf

("最大公約數為:%d"

,intger_2)

;while

(reminder !=0)

printf

("最大公約數為:%d\n"

,intger_2)

;printf

("最小公倍數為:%d\n"

,a*b/intger_2)

;return0;

}

碾轉相除求最大公約數 最大公倍數

在數學中,輾轉相除法,又稱歐幾里得演算法,是求最大公約數的演算法。輾轉相除法首次出現於歐幾里得的 幾何原本 第vii卷,命題y 和 中,而在中國則可以追溯至東漢出現的 九章算數 兩個整數的最大公約數是能夠同時整除它們的最大的正整數。輾轉相除法基於如下原理 兩個整數的最大公約數等於其中較小的數和兩數的...

求最大公約數

最新用了三種演算法實現了求最大公約數的演算法,用的c 寫的,最大公約數也是我們生活中常見的問題 1 窮舉法 主要 如下 if a b for i 1 i a i 演算法分析 窮舉法先將a,b兩值比較大小並且互換,再進行與各種數的整除,如果這個數能同時被a,b整除,那麼這個數就為最大公約數,這種演算法...

求最大公約數

暴力列舉法很簡單,從較小整數的一班開始,試圖找到乙個合適的整數i,檢查這個整數i是否被a和b同時整除 暴力列舉法求最大公約數 param a param b return public static int getgreatestcommondivisor v1 int a,int b for in...