题目描述
输入两个正整数,输出其最大公约数和最小公倍数。
输入描述
输入两个正整数n和m(n,m<=1000000)。输入保证最终结果在int范围内。
输出描述
输出两个整数,用空格隔开。表示m和n的最大公约数和最小公倍数。
输入样例
4 6
输出样例
2 12
最小公倍数=两数乘积/最大公约数
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int gcd(int m, int n)//最大公约数
{
int r = m % n;
while (r != 0) {
m = n;
n = r;
r = m % n;
}
return n;
}
int lcm(int m,int n) {//最大公倍数
return m / gcd(m, n) * n;
}
int main() {
int n,m;
cin >>m>>n;
cout << gcd(m, n) <<" "<< lcm(m, n) << endl;
return 0;
}