在數學中,輾轉相除法,又稱歐幾里得演算法,是求最大公約數的演算法。輾轉相除法首次出現於歐幾里得的《幾何原本》(第vii卷,命題yⅰ和ⅱ)中,而在中國則可以追溯至東漢出現的《九章算數》。
兩個整數的最大公約數是能夠同時整除它們的最大的正整數。輾轉相除法基於如下原理:兩個整數的最大公約數等於其中較小的數和兩數的相除餘數的最大公約數。例如,252和105的最大公約數是21(252 = 21 × 12;105 = 21 × 5);因為252 / 105 = 2餘42,所以105和42的最大公約數也是21。在這個過程中,較大的數縮小了,所以繼續進行同樣的計算可以不斷縮小這兩個數直至餘數變為零。這時的除數就是所求的兩個數的最大公約數。由輾轉相除法也可以推出,兩數的最大公約數可以用兩數的整數倍相加來表示,如21 = 5 × 105 + (−2) × 252。這個重要的等式叫做貝祖等式。
比如求10000和115的最大公約數,不用把因數乙個乙個找出來,只要按以下做法就行了:
15000÷115=130……50
115÷50=2……15
50÷15=3……5
15÷5=3
它們的公約數是5.
求a和b的最大公倍數
a*b/最大公約數
C語言 求最大公約數與最大公倍數(輾轉相除法)
求最大公約數與最大公倍數的思路 最小公倍數與最大公約數的演算法 根據 最小公倍數 兩整數的乘積 最大公約數 所以我們只需求出最大公約數即可 最大公約數的求法 輾轉相處法 例有兩個整數為 81 72 將大數除小數得餘數1 再將小數除餘數1得餘數2,若餘數2為零則餘數1為最大公約數 若餘數2不為0,則繼...
輾轉相除求最大公約數
什麼叫輾轉相除法求最大公約數 輾轉相除法求兩個數的最大公約數的步驟如下 先用大的乙個數除大的乙個數,得第乙個餘數 再用兩個數中較小的乙個數除第乙個餘數,得第二個餘數 又用第乙個餘數除第二個餘數,得第三個餘數 這樣逐次用後乙個數去除前乙個餘數,直到餘數是0為止。那麼,最後乙個除數就是所求的最大公約數 ...
輾轉相除求最大公約數
限制 總時間限制 1000ms 記憶體限制 65536kb 描述 給定兩個正整數,求它們的最大公約數。輸入 輸入一行,包含兩個正整數 1,000,000,000 輸出 輸出乙個正整數,即這兩個正整數的最大公約數。樣例輸入 6 9樣例輸出 3提示 求最大公約數可以使用輾轉相除法 假設a b 0,那麼a...