#include <iostream>
using namespace std;
// 最大公约数
// 使用的是辗转相除法:求两个数的余数,当余数不为零,求除数和余数的余数,直到余数为零,最后除数就是最大公约数
int gcd(int a, int b) {
int c = a % b;
while(c != 0) {
a = b;
b = c;
c = a % b;
}
return b;
}
// 最小公倍数
// 两个数的乘积等于这两个数的最大公约数与最小公倍数的积
int lcm(int a, int b) {
return (a*b)/gcd(a, b);
}
int main() {
int num1, num2;
while(cin >> num1 >> num2) {
cout << gcd(num1, num2) << endl;
cout << lcm(num1, num2) << endl;
}
return 0;
}
最大公约数和最小公倍数C/C++实现
最新推荐文章于 2024-05-20 20:16:31 发布