【华为机试题 HJ61】放苹果

这是一道关于将相同苹果分配到相同盘子里的问题,考察递归和动态规划解题思路。通过递归算法,分为有盘子为空和所有盘子有苹果两种情况。递归公式为f(m,n) = f(m,n-1)+f(m-n,n),当n=1或m=0时为递归出口。同时提供了动态规划的解题方向。" 116170306,10540157,ThinkPHP5.1结合GatewayWorker实现WebSocket推送,"['PHP框架', 'WebSocket', '服务端推送', 'ThinkPHP5.1', 'Workerman']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、题目描述

把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?
注意:如果有7个苹果和3个盘子,(5,1,1)和(1,5,1)被视为是同一种分法。
在这里插入图片描述

查考知识点

  • 递归
  • 动态规划

二、参考代码 递归法

放苹果分为两种情况:
一种是有盘子为空,一种是每个盘子上都有苹果。
在这里插入图片描述

令(m,n)表示将m个苹果放入n个盘子中的摆放方法总数。
1.假设有一个盘子为空,则(m,n)问题转化为将m个苹果放在n-1个盘子上,即求得(m,n-1)即可
2.假设所有盘子都装有苹果,则每个盘子上至少有一个苹果,即最多剩下m-n个苹果࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yangbocsu

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值