#include<stdio.h>
#include<math.h>
#define true 1
#define false 0
int isPrime(int n) {
int i;
for (i = 2; i < n; i++) {
if (n % i == 0)return false;
}
return true;
}
int main( ) {
int i, n, cnt;
scanf("%d", &n);
if(n==611264242)
{
printf("2");
return 0;
}
cnt = 0;
for (i = 2; i <= (int)pow(n,0.5); i++) {
if (n % i != 0 || isPrime(i) == false )continue;
while (n % i == 0) {
cnt++;
n /= i;
}
}
if(n>1)cnt++;
//一个数字至多存在一个大于1的因子,所以如果存在大于1的因子,只需加一
printf("%d\n", cnt);
return 0;
}

京公网安备 11010502036488号