#include <iostream>
#include <math.h>
using namespace std;
int func(int n,int min){
int ans = 1;
if(n < min)return 0;
if(n <= 2)return 1;
for(int i = min;i <= sqrt(n);i ++)
if(n % i == 0)ans += func(n / i, i);
return ans;
}
int main()
{
int n;
cin >> n;
while(n --){
int a;
cin >> a;
cout << func(a, 2) << endl;
}
return 0;
}
//函数里面定义了一个min 是为了防止出现重复的情况
//36 = 2 18/2 2 9/2 2 3 3/2 3 6/3 12/3 3 4/4 9/6 6
1255: A015 分解因式
最新推荐文章于 2024-07-22 23:59:01 发布