对于一个正整数n的划分,就是把n变成一系列正整数之和的表达式。注意,分划与顺序无关,例如6=5+1跟6=1+5是
同一种分划。另外,单独这个整数本身也算一种分划。
例如:对于正整数n=5,可以划分为:
5;
4+1;
3+2;3+1+1;
2+2+1;2+1+1+1;
1+1+1+1+1;
输入描述:
输入一个正整数n
输出描述:
输出整数n划分的总数
#include<stdio.h>标签:分划,正整数,递归,int,整数,else,划分,return From: https://blog.51cto.com/u_15765782/5785682
int H(int n,int m)
{
if(n==1||m==1)
return 1;
else if(n<m)
return H(n,n);
else if(n==m)
return 1+H(n,n-1);
else
return H(n,m-1)+H(n-m,m);
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",H(n,n));
return 0;
}