求兩個數的最大公約數 輾轉相除法

2021-08-25 01:43:48 字數 602 閱讀 1797

原文**:

輾轉相除法.

當兩個數都較大時,採用輾轉相除法比較方便.其方法是:

以小數除大數,如果能整除,那麼小數就是所求的最大公約數.否則就用餘數來除剛才的除數;再用這新除法的餘數去除剛才的餘數.依此類推,直到乙個除法能夠整除,這時作為除數的數就是所求的最大公約數.

例如:求4453和5767的最大公約數時,可作如下除法.

5767÷4453=1餘1314

4453÷1314=3餘511

1314÷511=2餘292

511÷292=1餘219

292÷219=1餘73

219÷73=3

於是得知,5767和4453的最大公約數是73.

輾轉相除法適用比較廣,比短除法要好得多,它能保證求出任意兩個數的最大公約數.

//////

輾轉相除法

:求兩個數的最大公約數

//////

//////

private

static

intint

if if

else

return }

p.s: 最小公倍數 = 二數中的大數/最大公約數)*小數

輾轉相除法求兩個數的最大公約數

輾轉相除法 設兩數為a b a b 求a和b最大公約數 a,b 的步驟如下 1.用a除以b,得a b q r 1 0 r1 若r 1 0,則 a,b b 2.若r 1 0,則再用b除以r 1,得b r 1 q r 2 0 r 2 若r 2 0,則 a,b r 1,若r 2 0,則繼續用r 1除以r ...

輾轉相除法求最大公約數

之前總結過一次高德納taocp中的最大公約數求解,其實課後題中的演算法修改要求實現的是輾轉相除法求解最大公約數。這個題目我最初的理解理解錯了,自然也沒有做出標準答案。現在按照標準答案的解答寫一下相應的 實現 defmaxcommdivisor m,n while m n 0 m m n if m 0...

求最大公約數 輾轉相除法

設求a和b的最大公約數c 則可看做邊長分別為a和b的矩形,可恰好被邊長為c的正方形無縫隙填滿 方法 不斷地用長邊除以短邊取餘數,直到長邊與短邊相等,即為所求正方形 給定平面上的兩個格點p1 x1,y1 p2 x2,y2 線段p1p2上,除p1和p2以外一共有幾個點。示例 p1 3,9 p2 7,1 ...