水题一枚。。

#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<string> using namespace std; int isprime(int b,int n) { int i; for(i=b;i<=sqrt(n);i++) { if(n%i==0) return i; } return 1; } int res[10005]; int main() { int t,i; int x,tmp; cin>>t; while(t--) { cin>>x; tmp = x; int k = 0; while(tmp%2==0) { tmp/=2; res[k++]=2; } if(tmp>2) { i=3; while(1) { if(tmp == 1) break; if(tmp%i==0) { res[k++]=i; tmp/=i; } else { int ca = isprime(i,tmp); if(ca == 1) { res[k++]=tmp; break; } else i=ca; } } } cout<<x<<"="<<res[0]; for(i=1;i<k;i++) { cout<<"*"<<res[i]; } cout<<endl; } return 0; }