#include <iostream> #include <vector> #include <cmath> using namespace std; bool zhishu(int x) { //质数:只能被1和自身整除 for (int i = 2; i<=sqrt(x); i++) { if (x % i == 0) return false; } if(x!=1) return true; else return false; } int main() { int n; while (cin >> n) { vector<int> num;//存储n的所有质因数 for (int i = 2; i<=sqrt(n); i++) { if (n % i == 0) {//是因数 if(zhishu(i))//是质数 num.push_back(i); if(zhishu(n/i)) num.push_back(n / i); } } // for(int a:num) cout<<a<<" "; // cout<<endl; int res=0; for(int i=0;i<num.size();i++){ while(n%num[i]==0){ n/=num[i]; res++; } } cout<<res<<endl; } } // 64 位输出请用 printf("%lld")