华为机试题 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放苹果的主要内容,如果未能解决你的问题,请参考以下文章

HJ61 放苹果

华为机试题 HJ106字符逆序

华为机试题 HJ22汽水瓶

华为机试题 HJ35蛇形矩阵

华为机试题 HJ80 整型数组合并

华为机试题 HJ21简单密码