公约数和公倍数

时间:2022-07-02 00:29:42

1.求两个数的最大公约数(gcd)和最小公倍数(lcm)

相减法求最大公约数

int gcd(int m,int n)
{
int temp;
if(m==n)
{
return m;
}
if(n>m)//将m设置为较大者
{
temp=m;
m=n;
n=temp;
}
temp=m-n;
while(temp!=n)
{
if(n>temp)
{
m=n;
n=temp;
}
else
{
m=temp;
}
temp=m-n;
}
return temp;
}
最小公倍数
int lcm(int m,int n)
{
return m*n/gcd(m,n);
}