11 9412
11 2*2*13*181
#include<iostream> #include<algorithm> using namespace std; int prime[65536]={0}; int main() { for(int i=2;i<=(65535/2);i++) { int q; for( q=i+i;q<=65535;q+=i) prime[q]=1; } int ls[10000];int n;int gq[100]; while(cin>>n) { int t=0; for(int j=2;j<=65535;j++) { if(!prime[j]&&!(n%j)) { ls[t++]=j; n/=j; if(n==1) break; } if(n<=j) j=1; } sort(ls,ls+t); for(int k=0;k<t-1;k++) cout<<ls[k]<<"*"; cout<<ls[t-1]<<endl; } return 0; }
原文:http://blog.csdn.net/lsgqjh/article/details/44732643