#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
bool Judge(int x){
int end = (int)sqrt((float)x)+1;
for(int i = 2;i<end;i++)
{
if(x%i==0) return false;
}
return true;
}
int divide(int x){
if(x==1)
return 0;
else if(Judge(x))
return 1;
else
{
int i;
for(i = 2;i<=x;i++)
{
if(x%i==0)
break;
}
return divide(i)+divide(x/i);//分治法
}
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
int count = divide(n);
printf("%d\n",count);
}
}
清华1207
最新推荐文章于 2021-07-20 10:48:56 发布