#include<stdio.h>
struct factor{
int x, cnt;
}fac[10];
bool isprime(int n){
if(n <= 1) return false;
for(long long i = 2; i * i <= n; i++){
if(n % i == 0)return false;
}
return true;
}
int main(){
int prime[100010], n, pnum = 0, cnt = 0;
for(int i = 1; i < 100010; i++){ //素数表
if(isprime(i) == true)prime[pnum++] = i;
}
scanf("%d", &n);
if(n == 1) printf("1=1");
else{
int num = 0;
printf("%d=", n);
for(int i = 0; i < pnum && prime[i] <= n; i++){
if(n % prime[i] == 0){
fac[num].x = prime[i];
fac[num].cnt = 0;
while(n % prime[i] == 0){
n /= prime[i];
fac[num].cnt++;
}
num++;
if(n == 1) break;
}
}
for(int i = 0; i < num; i++){
if(fac[i].cnt == 1)printf("%d", fac[i].x);
else printf("%d^%d", fac[i].x, fac[i].cnt);
if(i != num - 1) printf("*");
}
}
return 0;
}
1059 Prime Factors (25分)
最新推荐文章于 2021-03-10 23:36:58 发布