/*
设m,n均为自然数,m可表示为一些不超过n的自然数之和,
f(m,n)为这种表示方式的数目。
例:f(5,3)=5,有五种表示方式:
3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1
*/
int f(m,n) int m,n;
{
if(m==1)return 1;
if(n==1)return 1;
if(m if(m==n)return 1+f(m,n-1);
return f(m,n-1)+f(m-n,n);
}
main()
{
int num;
num=f(6,4);
printf("f(6,4)=%d\n",num);
num=f(111,10);
printf("f(111,10)=%d\n",num);
}
阅读(2723) | 评论(2) | 转发(0) |