唯一分解定理:每个大于一的自然数均可写为质数的积,而且这些素因子按大小排列之后,写法只有一种方式。
最简单的写法:
#include <iostream>
#include <cstring>
#include <cstdlib>
#define MAXN 10004
using namespace std;
int a[MAXN];
int main(){
int n;
while(cin >> n){
int cnt = 0;
cout << n << " = ";
for(int i=2;i<=n;++i){
while(n % i == 0){
a[cnt++] = i;
n /= i;
}
}
for(int i=0;i<cnt-1;++i){
cout << a[i] << " * ";
}
cout << a[cnt-1] << endl;
}
return 0;
}