代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <cmath>
#include <ctime>
#define X CLOCKS_PER_SEC
using namespace std;
typedef long long LL;
bool Judge(LL x)
{
if(x <= 1)
return false;
if(x <= 3)
return true;
for(LL i = 2; i <= sqrt(x); i ++)
if(x%i == 0)
return false;
return true;
}
int main()
{
int t ;
cin >> t;
while(t--)
{
LL n;
scanf("%lld", &n);
if(Judge(n))
{
printf("1\n");
continue;
}
bool first = 1;
LL i = 2;
LL cnt = 0;
while(n && n != 1)
{
if(!Judge(i))
{
i ++;
continue;
}
while(n%i == 0)
{
n/= i;
cnt ++;
}
i ++;
}
printf("%lld\n",cnt);
}
return 0;
}
/*
30
1
3
9
27
81
243
729
2187
6561
19683
59049
177147
531441
1594323
4782969
14348907
43046721
129140163
387420489
1162261467
3486784401
10460353203
31381059609
94143178827
282429536481
847288609443
2541865828329
7625597484987
22876792454961
68630377364883
*/