#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; }