求两个正整数 a,b 的最大公因数与最小公倍数。
两个数的最大公因数指的是 a,b 共有的约数中最大的一个。
两个数的最小公倍数指的是 a,b 共有的倍数中最小的一个。
输入格式:
在一行中给出两个数字 a,b (1<=a,b<=1,000,000,000)
输出格式:
在一行中以空格分隔输出 a,b 的最大公因数与最小公倍数。
输入样例:
1 | 6 9 |
输出样例:
1 | 3 18 |
思路
求最大公约数和最小公倍数。C++中的<algorithm>中有一个__gcd(a, b)函数可以直接调用求取a,b的最大公约数。而a, b的最大公约数gcd和最小公倍数lcm之间有一个关系
$$
ab=gcdlcm
$$
进而可以根据最大公约数得到最小公倍数。
代码
1 |
|