文章
59
粉丝
0
获赞
334
访问
10.7k
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000001;
vector<int> sushu;
int judge[maxn] = { 0 }; //judge==0 is sushu
int main()
{
int n;
for (int i = 2; i*i < maxn; i++)
{
if (!judge[i])
for (int j = i * i; j < maxn; j += i)
judge[j]++;
}
for(int i=2;i<maxn;i++)
if(!judge[i])
sushu.push_back(i);
while (cin >> n)
{
int cal=n;//calculate
int count=0;
for (auto it = sushu.begin(); it != sushu.end(); ++it)
if(!judge[*it])
{
while(cal%(*it)==0)
{
cal/=*it;
count++;
if(cal==1)
break;
}
if(cal==1)
break;
}
if(cal>1)
count++;
cout<<count<<endl;
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发