【题目描述】
给出一个正整数aa,要求分解成若干个正整数的乘积,即a=a1×a2×a3×...×ana=a1×a2×a3×...×an,并且1<a1≤a2≤a3≤...≤an1<a1≤a2≤a3≤...≤an,问这样的分解的种数有多少。注意到a=aa=a也是一种分解。
【输入】
第1行是测试数据的组数nn,后面跟着nn行输入。每组测试数据占11行,包括一个正整数a(1<a<32768)a(1<a<32768)。
【输出】
nn行,每行输出对应一个输入。输出应是一个正整数,指明满足要求的分解的种数。
【输入样例】
2 2 20
【输出样例】
1 4
```Java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
int x = sc.nextInt();
System.out.println(count(x,x));
}
}
//a是被除数,b是因子
public static int count(int a, int b) {
if(a == 1)
return 1;
if(b == 1)
return 0;
if(a % b == 0){
return count(a/b, b) + count(a, b-1);
}
else
return count(a, b-1);
}
}