问题描述
大于1的整数n可以分解为:n = x1 * x2 * … * xn
对于给定的正整数n,编程计算n共有多少种不同的分解式
,并打印出所有形式。
代码
(还没能打印出所有形式)
#include <stdio.h>
#include <stdlib.h>
int count;
void solve(int n){
int i;
if(n == 1){//当商为1时,得到一种分解
//printf("\n");
count++;
}
for(i=2;i<=n;i++){//每个数进行遍历
if(n % i == 0){//可分解
//printf("%d ",i);
solve(n/i);//进行分解
}
}
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
count = 0;
solve(n);
printf("%d\n",count);
}
return 0;
}