【问题描述】写两个函数,分别求两个正整数的最大公约数和最小公倍数,主函数调用这两个函数,并输出结果。两个正整数(a,b<100)由键盘输入。
【输入形式】两个正整数(以空格分隔)
【输出形式】最大公约数 最小公倍数(以空格分隔)
【样例输入】6 15
【样例输出】3 30
#include <stdio.h>
#include <stdlib.h>
int lcm(int a, int b);
int gcd(int a, int b);
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)==2)
{
printf("%d %d\n",gcd(a,b),lcm(a,b));
}
return 0;
}
int lcm(int a, int b)
{
int i;
for(i=1;i<b;i++)
{
if(i*a%b==0)
return i*a;
}
return b*a;
}
int gcd(int a, int b)
{
int t;
while(b)
{
t=a%b;
a=b;
b=t;
}
return a;
}