其实这个题目完全可以暴力解决
直接附代码,毕竟签到题

#include<stdio.h>
#include<math.h>
long long f(long long n) 
{
    long long sum=0;
    for(long long i=1;i<=sqrt(n*1.0);i++)  //自行百度为啥可以开根号,i记得用long long ,否则会爆
    {
        if(n%i==0)
            if(i*i!=n)              //若不等说明i*另外一个属=n,所以+2
                sum+=2;
            else                    //如果i*i=n说明只能多一个因数
                sum++;
    }
    return sum;
}
int main()
{
    long long n;
    int sum=0;
    scanf("%lld",&n);
    while(n!=2)
    {
        sum++;
        n=f(n);    
    }
    printf("%d\n",sum);
    return 0;
}