题解 | 质因数的个数
质因数的个数
https://www.nowcoder.com/practice/20426b85f7fc4ba8b0844cc04807fbd9
#include <iostream>
#include <cmath>
using namespace std;
bool zs(int x)
{
if(x<2)return false;
if(x==2)return true;
int flag=0;
for(int i=1;i<=sqrt(x);i++)
{
if(x%i==0)
{flag++;}
}
if(flag==1)
return true;
else
return false;
}
bool zys(int k,int x)//求k是不是x的zys
{
if(x%k==0 && zs(k))
return true;
else
return false;;
}
int main() {
int N;
int count=0;
cin>>N;
for(int i=2;i<=N;i++)
{
while(zys(i,N))
{
N/=i;
count++;
}
}
cout<<count;
}
// 64 位输出请用 printf("%lld")