博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
eggs
阅读量:5058 次
发布时间:2019-06-12

本文共 831 字,大约阅读时间需要 2 分钟。

知识点:递归函数


 题目


 

Erin买了不少鸡蛋,她发现一天吃不完这么多,于是决定把n个同样的鸡蛋放在m个同样的篮子里,允许有的篮子空着不放,请问共有多少种不同的放法呢?

注意:2,1,1和1,2,1 是同一种分法。

Input

 第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数m和n,以空格分开。1<=m,n<=10。

Output

对输入的每组数据m和n,用一行输出相应的结果。

例如:

Input:

4

3 8

4 7

2 4

4 2

Output:

10

11

3

2

(注意结尾有换行)

 


 

My code
#include
//求出了放鸡蛋情况的总数.int way(int m, int n);int main() { int t, m, n; scanf("%d", &t); while (t--) { scanf("%d%d", &m, &n); printf("%d\n", way(m, n)); } return 0;}int way(int m, int n) { // m为篮子,n为鸡蛋 if (m == 1 || n == 1) { return 1; } else if (m >= n) { return 1+way(n-1, n);//篮子多余鸡蛋时等于每个篮子放一个鸡蛋的情况(1种)加上把鸡蛋放到比鸡蛋数量少1个篮子的情况数 } else {
return way(m, n-m)+way(m-1, n);//每个篮子放一个鸡蛋后剩下num_of_eggs-num_of_baskets个鸡蛋放到num_of_baskets个篮子里,不是全部的篮子用上的情况 } }

 

转载于:https://www.cnblogs.com/pora/p/5037551.html

你可能感兴趣的文章
ORACLE中能否找到未提交事务的SQL语句
查看>>
词法分析
查看>>
倒排索引简单理解
查看>>
(006)XHTML文档的head
查看>>
乔迁新居
查看>>
微信小程序开发学习(二)
查看>>
web应用模式--前后端分离/不分离
查看>>
投影不到电视上
查看>>
所有子文件夹中图片个数matlab代码实现
查看>>
结对编程2——单元测试
查看>>
项目流程管理
查看>>
Timing Attack 周边感应sql
查看>>
docker基本操作
查看>>
Python3中正则模块re.compile、re.match及re.search函数用法详解
查看>>
Nodejs文件服务器
查看>>
result type
查看>>
【Android】完善Android学习(四:API 3.1)
查看>>
android studio导入矢量svg图标技巧
查看>>
AOP
查看>>
装饰器(执行原函数前后可以有些操作)常用于设置访问权限
查看>>