23/2/18学习记录

1. 放苹果递归,m苹果放在n个盘子里,递归如下

int f(int m,int n)
{
    if(m<0||n<0)//递归出口
        return 0;
    else if(m==1||n==1)//只有一个盘子或者一个苹果时只有一种
        return 1;
    else
        //每个盘子放一个再分配剩余的苹果到盘子(递归到没苹果可放)
        //+考虑留有空盘再分配其他苹果(递归到只剩一个盘子)
        return f(m, n-1)+f(m-n,n);
}

2. 注意多次输入时对count的初始化,如果在循环体里则会累加

c编程学习记录 文章被收录于专栏

为了华为od机试刷题学习记录

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务