题目描述:
给出一个正整数aa,要求分解成若干个正整数的乘积,即a=a1×a2×a3×...×an,并且1<a1≤a2≤a3≤...≤an,问这样的分解的种数有多少。注意到a=a也是一种分解。
代码:
package lanqiao;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
import java.util.*;
public class Main {
static int count = 0;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i = 1;i <= n;i ++)
{
count = 1;
int m = sc.nextInt();
F(2,m);
System.out.println(count);
}
}
public static void F(int a,int b)
{
for(int i = a;i <= b;i ++)
{
if((b % i) == 0 && (b / i >= i))
{
count ++;
F(i,b/i);
}
if(b /i < i)
{
return;
}
}
}
}