描述
求两个正整数的最大公约数和最小公倍数
输入
两个正整数A,B
输出
两个正整数的最大公约数、最小公倍数
样例输入
4 3
样例输出
1 12
题目来源
NUPT
#include <stdio.h>
int max(int a,int b)
{
int d=a/2;
if(b%a==0)
{
return a;
}
while(d>1)
{
if(a%d==0&&b%d==0)
{
return d;
}
else
{
--d;
}
}
return 1;
}
int min(int a,int b)
{
int temp[1000]={1};
int i=0,j=1;
temp[i]=max(a,b);
while(temp[i]>1)
{
a=a/temp[i];
b=b/temp[i];
temp[++i]=max(a,b);
}
while(i>=0)
{
j=j*temp[i--];
}
return j*a*b;
}
main()
{
int a,b,maxNumber,minNumber,t;
scanf("%d%d",&a,&b);
if(a>0&&b>0)
{
if(a>b)
{
t=a;
a=b;
b=t;
}
maxNumber=max(a,b);
minNumber=min(a,b);
printf("%d %d\n",maxNumber,minNumber);
}
}