放苹果
来源:互联网 发布:ios9越狱后必装软件源 编辑:程序博客网 时间:2024/06/10 07:24
放苹果
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 255 通过数: 147
#includeint fun(int m,int n) //m个苹果放在n个盘子中共有几种方法{ if(m==0||n==1) //因为我们总是让m>=n来求解的,所以m-n>=0,所以让m=0时候结束,如果改为m=1, return 1; //则可能出现m-n=0的情况从而不能得到正确解 if(n>m) return fun(m,m); else return fun(m,n-1)+fun(m-n,n);}int main(){ int T,m,n; scanf("%d",&T); while(T--) { scanf("%d%d",&m,&n); printf("%d\n",fun(m,n)); }}
【题目描述】
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
【输入】
第一行是测试数据的数目t(0<=t<=20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。
【输出】
对输入的每组数据M和N,用一行输出相应的K。
【输入样例】
17 3
【输出样例】
8
【来源】
No
【代码】
#includeint fun(int m,int n) //m个苹果放在n个盘子中共有几种方法{ if(m==0||n==1) //因为我们总是让m>=n来求解的,所以m-n>=0,所以让m=0时候结束,如果改为m=1, return 1; //则可能出现m-n=0的情况从而不能得到正确解 if(n>m) return fun(m,m); else return fun(m,n-1)+fun(m-n,n);}int main(){ int T,m,n; scanf("%d",&T); while(T--) { scanf("%d%d",&m,&n); printf("%d\n",fun(m,n)); }}
【说明】
dev-c++运行通过,提交成功阅读全文
0 0
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- 放苹果
- Connection请求数据
- java根据经纬度获取该经纬度的省市区
- 使用Javadoc导出项目的API文档
- graph slam tutorial 从推到到应用一
- Android中使用http实现注册登录 1
- 放苹果
- 【兴趣书签】教大家不戴眼镜的好方法
- Maven讲解之 坐标
- 线程
- Redis整合Spring结合使用缓存实例
- 谷歌浏览器5.5以上版本无法设置编码问题的解决方案
- Hibernate一对多,多对一
- 利用python进入数据分析之MovieLens_1M数据分析
- ubuntu php 开启pdo扩展