1210因子分解递归C++
时间: 2023-07-11 18:49:19 浏览: 160
好的,下面是一个递归的 1210 因子分解的 C++ 代码示例:
```c++
#include <iostream>
#include <vector>
using namespace std;
vector<int> factorize(int n) {
if (n == 1) {
return vector<int>();
}
for (int i = 2; i <= n / i; i++) {
if (n % i == 0) {
vector<int> factors = factorize(n / i);
factors.push_back(i);
return factors;
}
}
return vector<int>(1, n);
}
int main() {
int n = 1210;
vector<int> factors = factorize(n);
for (int i = 0; i < factors.size(); i++) {
cout << factors[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:`2 5 11 11`
该递归函数的思路和 Python 示例代码基本相同,只是在循环上做了一些优化。同时,需要注意在递归调用函数时需要将得到的因子加入因子列表中。最终返回的因子列表即为所求的因子分解结果。
阅读全文