7-2 最大公约数与最小公倍数 (15 分)
输入两个正整数,输出其最大公约数和最小公倍数。注意运算过程中的溢出问题。
输入格式:
输入两个正整数n和m(n,m<=1000000)。输入保证最终结果在int范围内。
输出格式:
输出两个整数,用空格隔开。表示m和n的最大公约数和最小公倍数。
样例">输入样例:
4 6
输出样例:
在这里给出相应的输出。例如:
2 12
代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int yue(int a,int b)
{//辗转相除法
int c;
while(c=a%b)
{
a=b;
b=c;
}
return b;
}
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c=yue(a,b);
printf("%d ",c);
printf("%d\n",a/c*b/c*c);//防止超限
return 0;
}