最大公约数和最小公倍数:……
2.6 数学问题的解题窍门
辗转相除法求最大公约数gcd,然后lcm = a * b / gcd 。
long
long
gcd(
long
long
a,
long
long
b)
{
if
(b == 0)
return
a;
return
gcd(b, a%b);
}
long
long
lcm(
long
long
a,
long
long
b)
{
return
a * b / gcd(a, b);
}
int
main(
int
argc,
char
*argv[])
{
long
long
a, b;
while
(cin >> a >> b)
{
cout << gcd(a, b) <<
" "
<< lcm(a, b) << endl;
}
return
0;
}