#include <bits/stdc++.h> using namespace std; //判断是不是质数 bool isprime(int x) { if(x==2) return true; for (int i = 2; i * i <= x; i++) { if (x % i == 0) return false; } return true; } int main() { int n; while (cin >> n) { int res = 0; int num=n; for (int i = 2; i * i <= num; i++) { if (n == 1) break; //尽量除以小点的质数 if (isprime(i)) { while (n % i == 0) { n /= i; res++; } } } //如果出来结果不是1,一定存在一个大于sqrt(num)的质数,上面没统计上,在此加上 if(n!=1) res++; cout << res << endl; } } // 64 位输出请用 printf("%lld")