Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1396178
  • 博文数量: 143
  • 博客积分: 10005
  • 博客等级: 上将
  • 技术积分: 1535
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-23 17:25
个人简介

淡泊明志 宁静致远

文章分类

全部博文(143)

文章存档

2011年(2)

2009年(1)

2007年(22)

2006年(118)

我的朋友

分类: C/C++

2006-11-06 09:27:49

/*
设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);
}
阅读(2656) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-05-11 08:23:24

与楼上同样的问题,大哥,也告诉我吧…… 不胜感激。 我的邮箱:panjq.31@163.com

reesun2009-03-18 16:33:48

你好,我想问一下:当m>n时的f(m,n)表达式是怎么得出来的~谢谢!! 我的邮箱:reesun.huang@gmail.com