问题描述:
大于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有多少种不同的分解模式。
#include<stdio.h>
int count=0;
void f(int n)
{
int i;
if(n>2)
for(i=2;i<n;i++)
if(n%i==0)
f(n/i),count++;
}
int main()
{
int n,i;
scanf("%d",&n);
f(n);
printf("%d\n",count+1);
return 0;
}