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 分)难度: 一般 / 知识点: 分解质因子 的主要内容,如果未能解决你的问题,请参考以下文章

PAT1059Prime Factors

1059. Prime Factors (25)

PAT 1059. Prime Factors

PTA(Advanced Level)1059.Prime Factors

1059 Prime Factors

1059 Prime Factors