1063: 最大公约与最小公倍
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 13606 Solved: 5631
Submit Status Web Board
Description
输入两个正整数,输出其最大公约数和最小公倍数。
Input
输入两个正整数n和m(n,m<=1000000)。输入保证最终结果在int范围内。
Output
输出两个整数,用空格隔开。表示m和n的最大公约数和最小公倍数。
Sample Input
4 6
Sample Output
2 12
HINT
注意运算过程中的溢出问题
Source
#include<stdio.h>
int main()
{
long long m,n,r,s,a,b;
scanf("%lld %lld",&m,&n);
a=m;
b=n;
while(m%n!=0)
{
r=m%n;
m=n;
n=r;
}
s=(a*b)/n;
printf("%lld %lld",n,s);
return 0;
}