递归实现整数划分

来源:互联网 发布:虚拟机怎么连接网络 编辑:程序博客网 时间:2024/04/29 09:31
正整数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;}

原创粉丝点击