华为oj 放苹果

华为oj 放苹果_第1张图片

运用递归:

1.当盘子数多多余苹果数,多余的盘子肯定没有用了,所以getCount(m,m)

2.反之有两种情况,一是将所有的盘子都用了那么每个盘子至少有一个苹果即getCount(m-n,n),二是至少有一个盘子没有即getCount(m,n-1)

#include
using namespace std;

int getCount(int m,int n)
{
    if(m==0||n=1)
    {
        return 1;
    }
    
    if(n>m)
    {
        return getCount(m,m);
    }
    else
    {
        return getCount(m,n-1)+getCount(m-n,n);
    }
}
int main()
{
    int m,n;
    cin>>m>>n;
    if(m<1||m>10||n<1||n>10)
    {
        cout<<"-1"<


你可能感兴趣的:(华为oj,初级)