1059. Prime Factors

来源:互联网 发布:淘宝首页导航怎么去掉 编辑:程序博客网 时间:2024/06/06 19:36

用素数筛

#include<iostream>#include<vector>#include<utility>using namespace std;const int N=10000;vector<bool>isp(N,true);long x,p=2;vector<pair<int,int>>st;long nextp(long p){    for(++p;p<N;++p)        if(isp[p])            return p;};int main(){    for(int i=2;i<N;++i)        for(int j=2;i*j<N;++j)            isp[i*j]=false;    cin>>x;    cout<<x<<'=';    if(x<2)cout<<x;    else    {        while(x!=1)        {            if(x%p==0)            {                int cnt=0;                while(x%p==0)++cnt,x/=p;                st.push_back(make_pair(p,cnt));            }            p=nextp(p);        }        for(int i=0;i<st.size();++i)        {            if(i)cout<<'*';            cout<<st[i].first;            if(st[i].second!=1)                cout<<'^'<<st[i].second;        }    }    return 0;}


0 0
原创粉丝点击