c语言中如何求两个数的最大公约数和最小公倍数?

2025-01-04 15:48:10
推荐回答(1个)
回答1:

直接编写两个函数就行了!!
#include
int
yueshu(int
m,int
n)
{
int
t;
if(m>n)
t=m,m=n,n=t;
//替换,保证m为较大的数
while(n!=0)
{
t=m%n;
m=n;
n=t;
}
return
m;
}
int
beishu(int
m,int
n)
{
return
m*n/yueshu(m,n);
//最小公倍数即为两个数的乘积除以最大公约数
}
main()
{
int
m,n,s,t;
while(scanf("%d%d",&m,&n))
{
s=yueshu(m,n);
printf("%d\n",s);
t=beishu(m,n);
printf("%d\n",t);
}
}