#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++; //一个数字至多存在一个大于 的因子,所以如果存在大于 的因子,只需加一 printf("%d\n", cnt); return 0; }