#include <bits/stdc++.h>
using namespace std;
// 函数用于计算 n 的质因数个数(包括重复的质因数)
int count(int n) {
int ret = 0;
// 从 2 开始尝试每个可能的因数,直到 sqrt(n)
for (int i = 2; i <= sqrt(n); i++) {
// 如果 i 是 n 的一个因数
while (n % i == 0) {
ret++; // 计数器加一
n /= i; // 用 i 除去 n 的这个因数
}
// 如果 n 已经被完全分解,提前退出循环
if (n <= 1) break;
}
// 如果存在大于 sqrt(n) 的质因数,则它只能是 n 本身
if (n > 1) ret++;
return ret;
}
int main() {
int n;
// 读取输入,直到没有更多的输入
while (cin >> n) {
cout << count(n) << endl;
}
return 0;
}

京公网安备 11010502036488号