P8448题解
题意
给一个数
思路
本人的代码跑出
#include <bits/stdc++.h>
using namespace std;
int n[13]={2,3,5,7,11,13,17,19,23,29,31,37,41};//质数表
int main()
{
ios::sync_with_stdio(false);//加速输入
long long a , b , h , s , i;
cin >> a;
while ( cin >> b )
{
h = 0;//一定初始化计数器
for ( i = 0; i < 13 && n[i] * n[i] * n[i] <= b; i++ )//剪枝(因为最小的奇质数为3,所以到三次根号b就停)
{
s = 0;
while ( b % n[i] == 0 )//暴力枚举整除次数
{
b /= n[i];
s++;
}
h += s / 3;//因为最小的奇质数为3,所以加上除以三就行了
}
cout << h << endl;
}
}