1059 Prime Factors (25 分)难度: 一般 / 知识点: 分解质因子
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1059 Prime Factors (25 分)难度: 一般 / 知识点: 分解质因子 相关的知识,希望对你有一定的参考价值。
注意: 判断1000000007这种只有一个质数特别大的情况
#include<bits/stdc++.h>
using namespace std;
map<int,int>mp;
bool check(int x)
{
for(int i=2;i<=x/i;i++) if(x%i==0) return false;
return true;
}
int main(void)
{
int n; cin>>n;
cout<<n<<"=";
if(check(n))
{
cout<<n;
return 0;
}
for(int i=2;i<=n;i++) while(n%i==0) n/=i,mp[i]++;
string ans;
for(auto i=mp.begin();i!=mp.end();i++)
{
if(i->second>1) ans+=to_string(i->first)+"^"+to_string(i->second)+"*";
else ans+=to_string(i->first)+"*";
}
cout<<ans.substr(0,ans.size()-1);
return 0;
}
以上是关于1059 Prime Factors (25 分)难度: 一般 / 知识点: 分解质因子 的主要内容,如果未能解决你的问题,请参考以下文章