求最大公约数最小公倍数输入 6 15 输出3 30为什么我的这个求出来的最大公约数是 1 ?
#include<stdio.h>
int a(int x,int y);
int b(int x,int y);
int main()
{
int x,y,result1,result2;
scanf("%d%d",&x,&y);
result1=a(x,y);
result2=b(x,y);
printf("%d %d\n",result2,result1);
return 0;
}
int a(int x,int y)
{
int m;
for(m=1;m<=x*y;m++)
{
if(m%x==0&&m%y==0)
break;
}
return m;
}
int b(int x,int y)
{
int n;
for(n=1;n<=x;n++)
{
if(x%n==0&&y%n==0)
break;
}
return n;
}