輾轉相減法求最大公約數

2021-09-20 15:23:55 字數 471 閱讀 8441

輾轉相減法是一種簡便的求出兩數最大公約數的方法。(更相減損術)

輾轉相減法(求最大公約數),即尼考曼徹斯法,其特色是做一系列減法,從而求得最大公約數。例如 :兩個自然數35和14,用大數減去小數,(35,14)->(21,14)->(7,14),此時,7小於14,要做一次交換,把14作為被減數,即(14,7)->(7,7),再做一次相減,結果為0,這樣也就求出了最大公約數7。

個人覺得這個演算法確實稱得上很神奇,簡明實用。

#define _crt_secure_no_warnings 1

#include //求兩個數的最大公約數,輾轉相減法

int main()

ret = a - b;

if (ret == b)//判斷

else//交換

}return 0;

}

有段時間沒寫**了,這麼一小段寫的略顯尷尬,敲**還是不能停呀。

輾轉相除求最大公約數

什麼叫輾轉相除法求最大公約數 輾轉相除法求兩個數的最大公約數的步驟如下 先用大的乙個數除大的乙個數,得第乙個餘數 再用兩個數中較小的乙個數除第乙個餘數,得第二個餘數 又用第乙個餘數除第二個餘數,得第三個餘數 這樣逐次用後乙個數去除前乙個餘數,直到餘數是0為止。那麼,最後乙個除數就是所求的最大公約數 ...

輾轉相除求最大公約數

限制 總時間限制 1000ms 記憶體限制 65536kb 描述 給定兩個正整數,求它們的最大公約數。輸入 輸入一行,包含兩個正整數 1,000,000,000 輸出 輸出乙個正整數,即這兩個正整數的最大公約數。樣例輸入 6 9樣例輸出 3提示 求最大公約數可以使用輾轉相除法 假設a b 0,那麼a...

輾除法求最大公約數 輾轉相除求最大公約數原理

輾轉相除法 並不難,很多人都會寫。public static int f int a,int b return a 舉個例子,例如6,8按照 執行一遍。求最大公約數步驟兩個數的最大公約數是指能同時整除它們的最大正整數。設兩數為a b a b 求a和b最大公約數的步驟如下 1 用a除以b a b 得 ...