1.求两个数的最大公约数
int gcd(int a,int b)
{ // 约数和倍数不包含0,则遇到0情况则直接排除
if(0==a||0==b)
return 0;
int t=a%b;
while(t)
{
a=b;
b=t;
t=a%b;
}
return b;
}
求多个数(a b c d .......)的最大公约数则:先求a和b的最大公约数A,然后求A和c的最大公约数B.....依次求下去
2.最大公倍数
求A和B的最大公倍数 = A*B / gcd(A,B);
假设A = a * b; B = a * c;
则 A*B = a * b * a * c;且 gcd(A,B)= a ;
所以 A和B的最大公倍数 = A*B / gcd(A,B)= a*b*c;