定义一个GetMax函数,调用时传入2个正整数a和b,要求返回这两个正整数的最大公约数和最小公倍数,最后在主程序中输出结果。
时间: 2024-02-27 12:55:06 浏览: 24
好的,以下是定义GetMax函数的C++代码:
```cpp
#include <iostream>
using namespace std;
int GetMax(int a, int b, int& gcd, int& lcm) {
int max_num = max(a, b);
int min_num = min(a, b);
int remainder = max_num % min_num;
int quotient = max_num / min_num;
while (remainder != 0) {
max_num = min_num;
min_num = remainder;
quotient = max_num / min_num;
remainder = max_num % min_num;
}
gcd = min_num;
lcm = a * b / gcd;
return 0;
}
int main() {
int a = 24, b = 36;
int gcd, lcm;
GetMax(a, b, gcd, lcm);
cout << "a = " << a << ", b = " << b << endl;
cout << "gcd = " << gcd << ", lcm = " << lcm << endl;
return 0;
}
```
在此,我们定义了GetMax函数,它接受两个正整数a和b,同时它有两个额外的参数gcd和lcm,这两个参数用于返回最大公约数和最小公倍数。
函数内部使用辗转相除法计算最大公约数,并且在计算过程中顺便计算最小公倍数。最后将结果保存到gcd和lcm变量中,并返回0。
在主程序中,我们声明了两个整数变量a和b,然后调用GetMax函数,将最大公约数和最小公倍数保存到gcd和lcm变量中。最后输出结果。
希望这个代码对你有所帮助!