正整数n的所有不同的划分中,将最大加数n1不大于的划分个数记作q(n,m)。可以建立如下递归函数
#include <stdio.h>
int q(int n,int m)
{
if((n<1)||(m<1))
return 0;
if((n==1)||(m==1))
return 1;
if((n<m))
return q(n,n);
if(n==m)
return q(n,m-1)+1;
return q(n,m-1)+q(n-m,m);
}
int main()
{
int n=6;
int m=6;
int t=q(n,m);
printf("%d",t);
return 0;
}