描述
输入一个数,输出其素因子分解表达式。
输入
输入一个整数 n (2 <= n < 100)。
输出
输出该整数的因子分解表达式。
表达式中各个素数从小到大排列。
如果该整数可以分解出因子a的b次方,当b大于1时,写做 a^b ;当b等于1时,则直接写成a。
样例输入
60
样例输出
2^2*3*5
#include <iostream>
using namespace std;
int sum[100];
int main(){
int n;
cin>>n;
int num=n;
int k=2;
while(n>1){
if(n%k==0){
sum[k]++;
n/=k;
k=2;
}else k++;
}
int flag=0;
for(int i=2;i<=num;i++){
if(sum[i]>0){
if(sum[i]>1){
if(flag==0) cout <<i<<"^"<<sum[i];
else cout << "*"<<i<<"^"<<sum[i];
}else{
if(flag==0) cout << i;
else cout <<"*"<< i;
}
flag=1;
}
}
return 0;
}