最大公約數 = 兩數之積 / 最小公倍數,所以只要求出乙個即可。
輾轉相除法:(求最大公約數)
有兩整數a和b(a>b), a%b得餘數c,若c=0,則b即為兩數的最大公約數
若c≠0,則a = b,b = c,繼續求餘數。
最小公倍數:
定義乙個變數從1開始,每增1對這幾個數進行求餘運算,直到這幾個數的
餘數為0,此時該數即為這幾個數的最小公倍數。
最小公倍數總是大於或等於這幾個數中的最大數,小於或等於這幾個數的乘積。
利用這一性質也可以反過來程式設計,即從這幾個數的乘積減1開始自減,進行求餘預算即可。
方法一:
void
fun(int m, int n)
printf
("%-5d %-5d\n"
,n,x/n);}
}
方法二:
void
fun(int a,int b)
for(i = a*b-
1; i >= a; i--
)printf
("%-5d %-5d\n"
,max,min)
;}
求最小公倍數與最大公約數
最大公約數是指兩個數相同因子總最大的那個,比如35和42,最大公倍數是7。要求最大公倍數,最常用的演算法是輾轉相除法,詳見下面的 最小公倍數是指兩個數共有的倍數中最小的那個,比如35和42,最小公倍數是210,6和12,最小公倍數是12。兩個數如果有最大公約數的話,他們的最小公倍數就是他們的乘積處以...
求最大公約數與最小公倍數
首先,我們假設兩個正整數a和b,我們來求這兩個數的最大公約數和最小公倍數 重點一 數學概念 兩個數的乘積等於這兩個數的最大公約數和最小公倍數的乘積 也就是說,我們只需要求得最大公約數與最小公倍數其中乙個,便可以推出另乙個 重點二 輾轉相除法求最大公約數 舉個例子理解一下這個方法 例如 與 我們把大的...
c 求最大公約數 最小公倍數
1 求兩個數的最大公約數 include stdafx.h include includeusing namespace std int tmain int argc,tchar argv else while max min 0 cout num1 num2 最大公約數為 temp endl re...