作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

题目描述:

把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。

数据范围:0<=m<=10,1<=n<=10。

本题含有多组样例输入。

输入描述:

输入两个int整数

输出描述:

输出结果,int型

示例:

输入:

7 3

输出:

8

解题思路:

本题用递归和动态规划做。m个苹果放在n个盘子里,允许空盘,用function函数递归获得结果;当m或n小于等于0时,返回0;当m或n等于1时,返回1;当m和n都大于1时,function(m,n)其实可以分为两种情况,一是留一个空盘,即function(m,n-1),二是全满盘,每个盘先放一个苹果,即function(m-n,n),则有function(m,n)=function(m,n-1)+function(m-n,n),进入递归过程;其中当m等于n时,function(m,n)=function(m,n-1)+function(m-n,n)+1,因为此时的function(m-n,n)是function(0,n),而m和n一致时满盘的情况只有一种,就是每个盘子都放一个。综上,解题完毕。

测试代码:

#include <iostream>using namespace std;int function(int m,int n){if(m<=0 || n<=0)return 0;else if(m==1 || n==1)return 1;else if(m==n)return function(m,n-1)+function(m-n,n)+1;else return function(m,n-1)+function(m-n,n);
}int main(){int m,n;while(cin >> m >> n){cout << function(m,n) << endl;}return 0;
}

华为机试HJ61:放苹果相关推荐

  1. 华为机试_HJ61 放苹果【简单】【收藏】

    目录 描述 输入描述: 输出描述: 解题过程 提交代码 递归方法 动态规划方法 学习代码 递归方法 动态规划方法 收藏点 描述 把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种 ...

  2. 机试:放苹果(递归问题)

    通过者的解读 设dp(m,n) 为m个苹果,n个盘子的放法数目,则先对n作讨论,         当n>m:必定有n-m个盘子永远空着,去掉它们对摆放苹果方法数目不产生影响.即if(n>m ...

  3. 华为机试---小东分苹果

    题目描述 果园里有一堆苹果,一共n头(n大于1小于9)熊来分,第一头为小东,它把苹果均分n份后,多出了一个,它扔掉了这一个,拿走了自己的一份苹果,接着第二头熊重复这一过程,即先均分n份,扔掉一个然后拿 ...

  4. [华为机试真题]70.分苹果

    题目 M个相同苹果放到N个相同篮子里有多少种放法,允许有篮子不放.1<=M<=10,1<=N<=10例如5个苹果三个篮子,3,1,1 和 1,1,3是同一种放法输入 7 3输出 ...

  5. 华为机试108题(C 语言解答)

    Nowcoder题库链接:华为机试 HJ1 字符串最后一个单词的长度(字符串) 输入:hello nowcoder输出:8说明: 最后一个单词为nowcoder,长度为8 示例代码: HJ1.c #i ...

  6. 【华为机试 Python实现】华为机试题集合(已更新171篇)

    文章目录 新手指引 数据结构基础 华为机试真题系列 牛客网华为机试系列 Python 八股文系列 <华为机试真题详解>专栏定价99.9 包含 <华为机试真题>的所有题目. 包含 ...

  7. 【强烈推荐收藏】坚持3个月爆肝华为机试108题C++全解(适合新手入门,就业必刷套题)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 前言 金九银十,金三银四.当前正处于校招.社招的火热期,之前就想为正在筹备就业的同学们准备刷题宝 ...

  8. 【华为机试】死记硬背没思路?一般人我劝你还是算了吧

    大家好,我是哪吒. 五月份之前,如果你参加华为OD机试,收到的应该是2022Q4或2023Q1,这两个都是A卷题. 5月10日之后,很多小伙伴收到的是B卷,那么恭喜你看到本文了,抓紧刷题吧.B卷新题库 ...

  9. 集合篇10.华为机试(涮题记录2)

    华为机试 31.成绩排序(**not) 32. 矩阵乘法 33. 24点游戏算法(not) 34.配置文件恢复 35. 查找两个字符串a.b中的最长公共子串 36.MP3光标位置(not) 37.DN ...

最新文章

  1. PHP中MD5函数漏洞
  2. C语言关键字----Const
  3. java的oauth2.0_[转]Java的oauth2.0 服务端与客户端的实现
  4. 关于js字符串替换的一道笔试题目
  5. 【C++】 Boost 库编译技巧总结
  6. c语言无法打开源文件stdafx.h,vs2010 中无法打开 源文件 stdafx.h 未定义标识符 “xxx”...
  7. org.springframework.mail.MailAuthenticationException: Authentication failed 解决方案
  8. jdk自带压测工具_jstack性能分析工具
  9. python及环境安装_一、什么是python及开发环境安装
  10. 从0开始的Python学习006流程控制
  11. jquery计算两个日期天数差
  12. 携程中转机票竟然相差23小时
  13. 如何使用C#进行Visio二次开发
  14. 打开和关闭Hadoop,Hbase 命令
  15. docker装LibreELEC_只需一步 树莓派刷入LibreELEC系统变身电视机顶盒
  16. 掠过和记黄埔IDC机房
  17. 百度网盘 linux 上传文件大小限制,Linux 下载百度网盘大文件的方法
  18. Win32SDK基本 RC资源的使用
  19. 蚁群算法画图java_[转载]简单蚁群算法 + JAVA实现蚁群算法
  20. 心情纸条/心动盲盒/交友盲盒

热门文章

  1. poj 1054 讨厌的青蛙
  2. 滴答清单windows_使用预升级清单免费更新到Windows 10头痛
  3. 什么是聚集索引,非聚集索引,索引覆盖,回表,索引下推
  4. 科技爱好者周刊(第 133 期):贵州变瑞士,有没有可能?
  5. 软件工程之模块独立性
  6. MATLAB 长度和像素_气象编程 | Matlab教程:nc文件的打开和使用m_map绘制海温图
  7. UG二次开发读取尺寸值公差分析
  8. 洛谷P3104 [USACO14MAR]数朋友Counting Friends
  9. 第十一册第八组习作范文引路:“我的学艺之路”章法导写
  10. SAP S/4HANA Cloud云培训及云认证 | 易拓独家