#include <iostream> //#include <stdio.h> #include <cmath> using namespace std; int main() { //众所周知暴力***超时 //n的值肯定会随着循环的进行减少 //如果i循环到了n开方都没有找到质因子,那么质因子肯定是其本身 //也就是n不可能存在两个比n开方大的质因子 long n; while(cin>>n) { long i = 2; for(i;i<(long)(sqrt(n)+1);) { while(n%i==0) { cout<<i<<' '; n/=i; } i++; } if(n>1) { cout<<n<<' '; } cout<<endl; } return 0; }