写一个质因数分解的c++代码
时间: 2024-03-15 14:16:26 浏览: 25
以下是一个简单的 C++ 代码,用于将给定的正整数分解为质因数:
```cpp
#include <iostream>
using namespace std;
void primeFactors(int n) {
while (n % 2 == 0) {
cout << 2 << " ";
n = n / 2;
}
for (int i = 3; i <= sqrt(n); i = i + 2) {
while (n % i == 0) {
cout << i << " ";
n = n / i;
}
}
if (n > 2)
cout << n << " ";
}
int main() {
int n = 0;
cout << "Enter a positive integer: ";
cin >> n;
cout << "Prime factors of " << n << " are: ";
primeFactors(n);
return 0;
}
```
该函数使用 while 循环和 for 循环来找到给定正整数的所有质因数。首先,它检查是否可以将该数除以 2,如果可以,它就打印出 2 并将该数除以 2。接下来,它从 3 开始,每次加 2,因为偶数不可能是质数。当找到一个因子时,它将该因子打印出来并将该数除以该因子。最后,如果该数大于 2,则该数本身就是一个质因数,因此它被打印出来。
相关推荐
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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://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://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)