一开始没看懂题意,写了一首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;
}