华为机试题 HJ61放苹果
Posted yangbocsu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为机试题 HJ61放苹果相关的知识,希望对你有一定的参考价值。
HJ61 放苹果
一、题目描述
把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?
注意:如果有7个苹果和3个盘子,(5,1,1)和(1,5,1)被视为是同一种分法。
查考知识点
- 递归
- 动态规划
二、参考代码 递归法
放苹果分为两种情况:
一种是有盘子为空,一种是每个盘子上都有苹果。
令(m,n)表示将m个苹果放入n个盘子中的摆放方法总数。
1.假设有一个盘子为空,则(m,n)问题转化为将m个苹果放在n-1个盘子上,即求得(m,n-1)即可
2.假设所有盘子都装有苹果,则每个盘子上至少有一个苹果
以上是关于华为机试题 HJ61放苹果的主要内容,如果未能解决你的问题,请参考以下文章