题目
问题描述:
大于1的正整数n可以分解为n=x1*x2*…*xn。例如,当n=12时,共有以下8种分解方法:
12=12
12=6*2
12=4*3
12=3*4
12=3*2*2
12=2*6
12=2*3*2
12=2*2*3
编程任务:
给定正整数n,试计算n有多少种不同的分解模式。
代码
import java.util.Scanner;
public class Main {
static int m=0;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n=scanner.nextInt();
dfs(n);
System.out.println(m);
}
public static void dfs(long l){
if(l==1)
m++;
else
{
for(long i=2;i<=l;i++)
if(l%i==0)
dfs(l/i);
}
}
}