一开始没看懂题意,写了一首dfs,写着写着发现不对,重新读题
然后想错了歪到质因数分解了。
最后发现想多了,就是个简单的枚举(据说有贪心的内容)
最后n为0或1特判一下就好了
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin >> t;
while (t--)
{
int plan = 0;
int n;
cin >> n;
if (n > 0)
plan = 1;
int n1 = n, k = sqrt(n);
for (int i = 2; i*i< n1; i++)
{
if (n1 % i == 0)
{
plan++;
n1 /= i;
}
}
if (n == 0||n==1)
plan = 1;
else plan++;
cout<<plan<<endl;
} // system("pause");
return 0;
}



京公网安备 11010502036488号