vc中把正整数分解成因质数
时间: 2023-05-26 17:01:16 浏览: 99
的积怎么实现?
A:可以使用质因数分解算法来实现。具体步骤如下:
1. 输入一个正整数n。
2. 从2开始,循环判断n是否可以被2整除,如果可以,则输出2,将n除以2的商赋值给n,然后继续执行2的判断;如果不行,则继续执行下一步。
3. 从3开始,循环判断n是否可以被3整除,如果可以,则输出3,将n除以3的商赋值给n,然后继续执行3的判断;如果不行,则继续执行下一步。
4. 从5开始,循环判断n是否可以被5整除,如果可以,则输出5,将n除以5的商赋值给n,然后继续执行5的判断;如果不行,则继续执行下一步。
5. 以此类推,循环判断n是否可以被7、11、13……等质数整除,直到n为1为止。
以下是实现的C++代码:
```c++
#include <iostream>
using namespace std;
void factorize(int n){
int i = 2;
while(n > 1){
if(n % i == 0){
cout << i << " ";
n /= i;
}
else{
i++;
}
}
}
int main(){
int n;
cout << "请输入一个正整数:";
cin >> n;
factorize(n);
return 0;
}
```
运行示例:
请输入一个正整数:36
2 2 3 3
可以看到,输入的正整数36被分解成了2*2*3*3的形式。
阅读全文