设计一个c++程序,输出两个最大公约数和最小倍数,要求第一行输入一个整数n,表示有n组测试数据,随后的n行输入两个整数i,j
时间: 2024-09-07 15:06:21 浏览: 20
设计一个 C++ 程序来计算并输出两整数的最大公约数 (GCD) 和最小公倍数 (LCM),首先我们需要包括一些必要的库函数,并定义一个辅助函数来计算 GCD。以下是基本的步骤:
```cpp
#include <iostream>
#include <vector>
// 辅助函数,欧几里得算法求最大公约数
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
// 计算最小公倍数
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
int main() {
int n;
std::cin >> n; // 输入测试数据的数量
for (int i = 0; i < n; ++i) {
int num1, num2;
std::cin >> num1 >> num2;
int gcd_val = gcd(num1, num2); // 计算 GCD
int lcm_val = lcm(num1, num2); // 计算 LCM
std::cout << "对于第 " << (i + 1) << " 组数据 (";
std::cout << num1 << ", " << num2 << "),\n";
std::cout << "最大公约数 (GCD): " << gcd_val << "\n";
std::cout << "最小公倍数 (LCM): " << lcm_val << "\n\n"; // 输出结果换行
}
return 0;
}
```