题目描述
输入一个数,输出其素因子分解表达式。
输入格式
输入一个整数 n (2≤n<100)。
输出格式
输出该整数的因子分解表达式。
表达式中各个素数从小到大排列。
如果该整数可以分解出因子a的b次方,当b大于1时,写做 a^b ;当b等于1时,则直接写成a。
样例
样例输入
复制60
样例输出
复制2^2*3*5
_____________________________________________________________________________
写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
_____________________________________________________________________________
#include <bits/stdc++.h>
using namespace std;
int n,m;
int main(){
cin>>n;
for(int i=2;i<=n;i++){
int a=0;
while(n%i==0){
n/=i;
a++,m++;
}
if(a==m&&a>0){
if(a>1)cout<<i<<"^"<<a;
else cout<<i;
}
else{
if(a>1)cout<<"*"<<i<<"^"<<a;
if(a==1)cout<<"*"<<i;
}
}
}