这也能ac??太开心了
divid函数,把一个数分解成2个数,为避免重复分解,引入了p来保序
只有i>=p才进行分解,否则就有重复的了
#include<iostream>
using namespace std;
typedef long long ll;
ll divid(int p,int a)
{
ll res = 0;
for (int i = 2;i <= a / i;i++)
{
if (a%i == 0)
{
if(i>=p) res += divid(i,a / i) + 1;
}
}
return res;
}
int main()
{
int n;
cin >> n;
while (n--)
{
int a;
cin >> a;
cout << 1 + divid(0,a) << endl;
}
}