#include
#define N 10
#define MAX 20
/*
要考虑结果超出整型能表达的范围
*/
#include
int gcd(int a,int b);//最小公约数
int lcd(int a,int b);//最小公倍数
int main()
{
int a,b,c,g;
printf("输入两个整数:");
scanf("%d %d",&a,&b);
if(a!=0&&b!=0)
{
c=gcd(a,b);
g=lcd(a,b);
printf("最大公约数:%d\n",c);
printf("最小公倍数:%d\n",g);
}
else
{
printf("Input error!\n");
}
return 0;
}
int gcd(int a,int b)//辗转相除法
{
int t=0;
while(1)
{
t=a%b;
if(t==0)
break;
a=b;
b=t;
}
return b;
}
int lcd(int a,int b)
{
return a*b/gcd(a,b);
}