(初學者)求最大公約數和最小公倍數之更相減損術

2021-08-03 16:27:19 字數 436 閱讀 7777

第二種方法:更相減損術

所謂相減法,通俗來說就是取兩個正整數,進行比較,用較大的數減去較小的數,再用較小的數和兩數之差進行比較,再用較大的數減去較小的數,重複至減數和差相等為止。

有兩個整數a,b。

如果a大於b,則a=a-b;

如果a小於b,則b=b-a;

直到兩數相等,即a=b;

此時a就是兩數的最大公約數,再根據公式最小公倍數=所取的兩個正整數的乘積除以最大公約數可求。

#include

int main()

while(a!=b);

printf("最大公約數是%d\n",a);

printf("最小公倍數是%d\n",m

*n/a);

return

0;}

求最大公約數,最小公倍數

歐幾里德遞迴演算法,大數對小數取餘直到小數為0,大數為最大公約數 param m param n return static int maxcommondivisor euclid recursion int m,int n return m 劉徽兩數相減直到兩數相等,等數為最大公約數 param ...

求最大公約數和最小公倍數

本篇文章中求最大公約數的方法是輾轉相除法,又稱歐幾里德演算法 方法是用較大的數除以較小的數,求得餘數,將餘數變成除數,除數變成被除數,重複這個過程,直到餘數變成0。而求最小公倍數的方法則是用原本兩個數的乘積除以最大公約數。define crt select no warings include in...

求最大公約數和最小公倍數

輾轉相除法求最大公因數 輾轉相除法 簡單來說 兩個數,用較大的數除以較小的數,得到第一餘數,在用較小的數除以第乙個餘數,得到第二餘數,在用第二個餘數除以第一餘數,重複過程,直到到餘數為0 那麼最後乙個餘數就是這兩個數的最大公約數 舉例說明 a 36,b 10 1.36除以10得3,餘6 2.10除以...