C++实现整数因子分解
时间: 2023-05-10 19:55:49 浏览: 225
可以使用质因数分解的方法来实现整数因子分解。具体步骤如下:
1. 从小到大枚举可能的因子,如果该因子是该整数的因子,则将其加入因子列表中,并将该整数除以该因子。
2. 如果该因子不是该整数的因子,则继续枚举下一个可能的因子。
3. 当枚举到的因子大于该整数的平方根时,停止枚举。
4. 如果该整数仍然大于1,则说明该整数是一个大于平方根的质数,将其加入因子列表中。
下面是 C++ 的代码实现:
```cpp
#include <iostream>
#include <vector>
using namespace std;
vector<int> factorize(int n) {
vector<int> factors;
for (int i = 2; i * i <= n; i++) {
while (n % i == 0) {
factors.push_back(i);
n /= i;
}
}
if (n > 1) {
factors.push_back(n);
}
return factors;
}
int main() {
int n;
cout << "请输入一个正整数:";
cin >> n;
vector<int> factors = factorize(n);
cout << n << " 的因子有:";
for (int factor : factors) {
cout << factor << " ";
}
cout << endl;
return 0;
}
```
输入一个正整数,程序会输出该整数的因子列表。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![c](https://img-home.csdnimg.cn/images/20250102104920.png)
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)