题目描述:
实现代码:
// 分解质因数
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 1e5;
int n;
int main(){
cin>>n;
for(int i=2;i<n;i++){
int p=0; // 统计次数
while(i!=n){
if(n%i==0){
n/=i; // 边循环边计算缩小范围
p++;
}
else break;
}
if(p==1) cout<<i<<"*";
if(p>1) cout<<i<<"^"<<p<<"*";
}
cout<<n<<endl;
return 0;
}
运行结果: