您的位置:首页 > 其它

递归的一道简单题

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;

    }

    

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  递归 算法 动态规划