【问题描述】 输入正整数m,n,求它们的最大公约数和最小公倍数。定义函数gcd(m, n)求最大公约数,函数lcm(m, n)求最小公倍数。main函数负责读取正整数m,n,以及输出最后结果。

图片说明
#include
int gcd(int m,int n)
{
int c,i;
for(i=0;c>0;i++)
{
c=m%n;
m=n;
n=c;
}
return m;
}
int icm(int x,int y)
{
int c,i,a,b;
a=x*y;
for(i=0;c>0;i++)
{
c=x%y;
x=y;
y=c;
}
b=a/x;
return b;
}
int main()
{
int m,n,max,min;
scanf("%d %d",&m,&n);
max=gcd(m,n);
min=icm(m,n);
printf("%d %d",max,min);
return 0;
}

求大佬帮助找chu'cuo'wu


虽然你肯定解决了 但是还是想着给你写一写hhh
#include<stdio.h>
int gcd(int m,int n)
{
int c=1,i;
for(i=0;c>0;i++)
{
c=m%n;
m=n;
n=c;
}
return m;
}
int icm(int x,int y)
{
int c=1,i,a,b;
a=x*y;
for(i=0;c>0;i++)
{
c=x%y;
x=y;
y=c;
}
b=a/x;
return b;
}
int main()
{
int m,n,max,min;
scanf("%d %d",&m,&n);
max=gcd(m,n);
min=icm(m,n);
printf("%d %d",max,min);
return 0;
}