用c++求最大公约数和最小公倍数
时间: 2025-01-19 08:06:40 浏览: 47
在C++中,求最大公约数(GCD)和最小公倍数(LCM)可以通过多种方法实现。以下是一个使用欧几里得算法求最大公约数的示例代码,并在此基础上计算最小公倍数。
```cpp
#include <iostream>
using namespace std;
// 函数声明
int gcd(int a, int b);
int lcm(int a, int b);
int main() {
int num1, num2;
// 输入两个整数
cout << "请输入两个整数: ";
cin >> num1 >> num2;
// 计算最大公约数和最小公倍数
int greatestCommonDivisor = gcd(num1, num2);
int leastCommonMultiple = lcm(num1, num2);
// 输出结果
cout << num1 << " 和 " << num2 << " 的最大公约数是: " << greatestCommonDivisor << endl;
cout << num1 << " 和 " << num2 << " 的最小公倍数是: " << leastCommonMultiple << endl;
return 0;
}
// 欧几里得算法求最大公约数
int gcd(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
// 通过最大公约数求最小公倍数
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
```
这个程序首先定义了两个函数:`gcd` 和 `lcm`。`gcd` 函数使用欧几里得算法计算两个整数的最大公约数,而 `lcm` 函数则通过最大公约数来计算最小公倍数。
在 `main` 函数中,程序从用户那里获取两个整数,然后调用 `gcd` 和 `lcm` 函数来计算它们的最大公约数和最小公倍数,最后输出结果。
阅读全文
相关推荐

















