在一个源程序文件中编写一个函数 void fun ( int n ),将指定的自然数分解成质因子的连乘积,例如:88=2*2*2*11。然后在另一个源程序文件中编写 main 函数,调用 fun 函数
时间: 2025-06-14 22:17:09 浏览: 6
在C++语言中,你可以通过以下步骤在一个源程序文件中编写一个名为`fun`的函数,用于分解给定的自然数到质因子的连乘积:
```cpp
#include <iostream>
#include <vector>
// 定义一个辅助函数,用于检查是否为质数
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
// 主函数 fun,分解数字并打印质因子
void fun(int n) {
std::vector<int> factors;
for (int i = 2; i * i <= n; i++) {
while (n % i == 0 && is_prime(i)) {
factors.push_back(i);
n /= i;
}
}
if (n > 1) // 如果n仍有剩余,说明它是最后一个质因子
factors.push_back(n);
// 打印质因子
for (const auto& factor : factors) {
std::cout << factor << " ";
}
std::cout << std::endl;
}
// main 函数调用 fun 函数
int main() {
int number;
std::cout << "请输入一个自然数: ";
std::cin >> number;
fun(number);
return 0;
}
```
在这个例子中,首先定义了一个辅助函数`is_prime`用于判断输入的整数是否为质数。`fun`函数会分解输入的自然数,并将每个质因数添加到`factors`向量中。在`main`函数中,用户会被提示输入一个数,然后这个数会被传递给`fun`函数进行处理。
阅读全文