AcWing 1545. 质因子
原题链接
简单
作者:
Akko__
,
2021-06-05 13:48:24
,
所有人可见
,
阅读 340
#include<iostream>
#include<algorithm>
#include<cstring>
#include<map>
using namespace std;
int n;
int sum;
map<int,int> primes;
void get_primes(int n)
{
for(int i=2;i<=n/i;i++){
int cnt=0;
if(n%i==0){
sum++;
while(n%i==0){
cnt++;
n/=i;
}
primes.insert({i,cnt});
}
}
if(n>1) primes.insert({n,1}),sum++;
}
int main()
{
cin>>n;
get_primes(n);
if(n==1) cout<<"1=1";
else {
cout<<n<<'=';
for(auto c:primes){
sum--;
cout<<c.first;
if(c.second!=1)
cout<<'^'<<c.second;
if(sum) cout<<'*';
}
}
return 0;
}