#include<bits/stdc++.h> using namespace std; int main(){ int n;cin>>n; int num=n;//保存n for(int i=2;i*i<=n;i++){//最后得到的质因子不会出现i*i>n的情况 if(n%i==0)printf("%d ",i),n/=i,i--; //因为是分解质因子,会有多个重复质因子的情况,比如4->2 2,所以对于一个数需要重复÷,直到除不尽 } if(n!=1&&n!=num)cout<<n<<" ";//处理最后余下的n非1且非原来的数的情况 if(n==num)cout<<num;//处理n为质数的情况 return 0; }