#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
int main(){
// 输入一个整数n
int n;
cin>>n;
// 找出n所有的质因子
// 先除上2,直到不能除为止,然后进行3,5,7,11,13所有的指数进行尝试
// 用一个数组去存放这些质因子
vector<int> res;
for(int i = 2; i <= std::sqrt(n); ++i){
// 从2开始,先处理2的情况,再往后处理3,5,7的情况
while(n % i == 0){
cout<<i<<" ";
// 将n除上质因子
n /= i;
}
}
// 需要处理到1,如果n = 5 时,会直接跳过上面的循环,直接输出
if(n-1 > 0){
cout<<n<<"\n";
}
return 0;
}

京公网安备 11010502036488号