整数因子问题描述:
问题描述:大于1的正整数n可以分解为n=x1*x2*x3*...*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<iostream>
using namespace std;
int n,sum=0,m,k=0; //sum累计种数,k为数组下标
int a[20]={0};
void fenjie(int m,int k)//对M进行分解
{
inti;
if(1==m) // 输出判断
{ sum++;
cout<<n<<"=";
for(i=0;i<k;i+