//对于一个数num,num%i==0 则i为其因子 //将i从2开始自增判断即可,i不是因子则自增,i是因子则num/=i,并且i=2 重新开始判断 //不需考虑i是否为质数,因为若i为合数,则当i为这个合数的因子时已经被判断为num的因子了 //这个循环的出口时num==1 #include <iostream> using namespace std; int main() { int num; int n = 0; cin >> num; int i = 2; while (num > 1) { if (num % i == 0) { num /= i; i = 2; n++; } else { i++; } } cout << n; }