1 #include<iostream>
2 using namespace std;
3 #include<cstdio>
4 long long n,ni;
5 #define N 100000
6 #include<cmath>
7 int prime[N],p=0;
8 int ans[N],ai=0;
9 int main()
10 {
11 cin>>n;
12 ni=n;
13 prime[++p]=2;
14 for(int i=3;i<=n;++i)
15 {
16 bool flag=true;/*先生成一个1--n的质数数列*/
17 for(int j=2;j<=sqrt(i);++j)
18 {
19 if(i%j==0)
20 {
21 flag=false;
22 break;
23 }
24 }
25 if(!flag) continue;
26 prime[++p]=i;
27 }
28 while(n!=1)/*使用短除法来分解质因数*/
29 {
30 for(int i=1;i<=p;++i)/*枚举所有质数*/
31 if(n%prime[i]==0)/*每次找到质因数后就break,保证每次找到最小的质因数*/
32 {
33 n/=prime[i];/*除去它*/
34 ans[++ai]=prime[i];/*储存答案*/
35 break;
36 }
37 }
38 cout<<ni<<"=";
39 for(int i=1;i<ai;++i)
40 printf("%d*",ans[i]);
41 printf("%d",ans[ai]);
42 return 0;
43 }