题目描述:写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。 相关知识(略) 编程要求 请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充,变量类型使用long long int。
时间: 2024-12-04 18:25:28 浏览: 72
在C++中,你可以使用欧几里得算法(也叫辗转相除法)来计算两个整数的最大公约数(GCD),然后利用最大公约数来找到最小公倍数(LCM)。以下是代码示例:
```cpp
#include <iostream>
using namespace std;
// 函数来计算最大公约数
long long int gcd(long long int a, long long int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
// 函数来计算最小公倍数
long long int lcm(long long int a, long long int b) {
return (a * b) / gcd(a, b);
}
int main() {
// 输入两个整数
long long int num1, num2;
cout << "请输入第一个整数: ";
cin >> num1;
cout << "请输入第二个整数: ";
cin >> num2;
// 调用gcd和lcm函数并输出结果
long long int result_gcd = gcd(num1, num2);
long long int result_lcm = lcm(num1, num2);
cout << "最大公约数(GCD): " << result_gcd << endl;
cout << "最小公倍数(LCM): " << result_lcm << endl;
return 0;
}
```
在这个代码片段中,`gcd`函数递归地计算两个数的GCD,而`lcm`函数则通过两数乘积除以GCD的方式来计算LCM。在主函数`main`中,用户会被提示输入两个数字,然后程序会计算它们的GCD和LCM,并将结果打印出来。
阅读全文