1 #include<iostream>
 2 #include<cmath>
 3 using namespace std;
 4 
 5 // print all prime factor
 6 void print(int n)
 7 {
 8     // 将n除成奇数
 9     while(n%2==0)
10     {
11         cout<<2<<" ";
12         n=n/2;
13     }
14 
15     //唯一的偶素数2,因为n是个奇数,所以i+=2
16     for(int i=3;i<sqrt(n);i+=2)
17     {
18         while(n%i==0)
19         {
20             cout<<i<<" ";
21             n=n/i;
22         }
23     }
24 
25 //    if(n==1)
26 //        return;
27 //    else
28 //        cout<<n<<" ";
29 
30     //最后,如果n>2则是一个素数,或者是n=1
31     if(n>2)
32         cout<<n<<endl;
33 
34 }
35 
36 
37 int main()
38 {
39     int n;
40     cin>>n;
41     print(n);
42     return 0;
43 }

 

参考链接:https://www.geeksforgeeks.org/print-all-prime-factors-of-a-given-number/