递归的一道简单题
2017-07-31 14:36
106 查看
题目描述
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
递归,有时会有效率问题,自上而下时间复杂度很大,自下而上会更好一些;有时自上而下解决问题效果很好,不得不用;
动态规划中递归使用广泛
#include<iostream>
using namespace std;
int test(int m,int n)
{
if(m<0)
return 0;
if(n==1)
return 1;
return test(m,n-1)+test(m-n,n);
}
int main()
{
int sum,m,n;
while(cin>>m>>n)
{
sum=test(m,n);
cout<<sum<<endl;
}
}
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
递归,有时会有效率问题,自上而下时间复杂度很大,自下而上会更好一些;有时自上而下解决问题效果很好,不得不用;
动态规划中递归使用广泛
#include<iostream>
using namespace std;
int test(int m,int n)
{
if(m<0)
return 0;
if(n==1)
return 1;
return test(m,n-1)+test(m-n,n);
}
int main()
{
int sum,m,n;
while(cin>>m>>n)
{
sum=test(m,n);
cout<<sum<<endl;
}
}
相关文章推荐
- 一道简单的面试题(求较小的值,不能用 比较运算符 if-else ?: while for 内嵌汇编 递归 第三方函数)(zt)
- 一道简单的递归题
- 一道简单递归题
- 不使用 for , while ,递归,如何解决一道简单的算法题?
- 递归下降分析法的简单例子的c语言实现
- numpy 解一道简单数学题
- 一道简单的Python题
- 一天一个算法题-简单的-递归
- 简单递归
- hdu 1076 简单处理+递归
- 递归求和(Recursive)与for循环求和效率问题的简单比较
- 一些基础的java问题及一道简单的java题和我的回答
- 链表插入元素的三种递归实现 -- 简单递归,数据累加器,函数累加器
- 简单递归—Hanoi(汉诺塔问题)
- demo : 简单的 xslt 递归解析 xml 成 tree
- 一道小递归
- 递归的一些简单实现(c实现)
- 东软一道递归题实现数组前K个元素的最大值
- HDU 1010题解这是一道简单的DFS加回溯题,看懂后就会对递归和回溯有较深刻的理解。
- leetcode316: Remove Duplicate Letters 使用递归的简单java实现