问题
M个苹果放N个篮子,篮子可以为空,有多少种放法?

分析
当m=0,或者n=1时候,只有一种放法,篮子只有一个,
当n=0,记作0种放法
当苹果数小于篮子数时候,即m<n时,其放法和m个苹果,m个篮子的情况时相等
当苹果数大于或者等于篮子数时候,即m>=n时,又可以分为两种情况
一种是每个篮子都至少有一个苹果的时候,一种是至少有一个空篮子的时候

代码:

 import java.util.Scanner;public class AppleAndBasket {/** 问题:有m个苹果和n个篮子,有几种放法?篮子可以为空(131和113是一种放法)** 分析:当m=0,或者n=1时候,只有一种放法,篮子只有一个,*      当n=0,记作0种放法*      当苹果数小于篮子数时候,即m<n时,放法和m个苹果,m个篮子的情况时相等*      当苹果数大于或者等于篮子数时候,又可以分为两种情况*           一种是篮子都满的时候,一种是至少有一个空篮子的时候** */public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入篮子数");int n = scanner.nextInt();System.out.println("请输入苹果数");int m = scanner.nextInt();int i = method(n,m);System.out.println(i);}private static int method(int n, int m) {if (n == 1 || m == 0) {return 1;}if (n == 0) {return 0;}//苹果数小于篮子数,即2个苹果放5个篮子,和2个苹果放2个篮子的放法是一样的if (m < n) {return method(m,m);}//苹果数大于等于篮子数,分为两种情况if (m >= n) {//情况一:每个篮子里面都放有一个苹果,决定放法数的就是剩余苹果在n个篮子的放法数//情况二:至少有一个空篮子,即m个苹果在n-1个篮子的情况下的方法return method(n,m-n)+ method(n-1,m);}return 0;}}

M个苹果放N个篮子,篮子可以为空,有多少种放法?相关推荐

  1. m个苹果放在n个筐里,每个筐至少一个,所有的筐都一样,有多少种放法

    package com.study; import java.io.BufferedReader; import java.io.IOException; import java.io.InputSt ...

  2. 算法题放苹果:把M个相同的苹果放到N个完全相同的盘子里,有多少种放法?

    文章目录 题目描述 题解 思路1 暴力递归 思路2:缓存思想--动态规划来优化暴力递归 题目描述 链接:点我做题 题解 思路1 暴力递归   我们利用递归来解决这个问题,不妨这样思考,假设apples ...

  3. m苹果放n篮子_算法交流:666苹果放篮子【2.6基本算法之动态规划】-09

    一:题目分析:题意大致为有M个苹果,放到N个篮子中,篮子可以为空,问有多少种方法. 二:算法说明 假设 int fun(int m,int n)为求有多少种方法的递归函数,我们易得 其中fun(m-n ...

  4. m个足球放入n个篮子中或者放苹果问题

    把m个同样的足球放进n个同样的篮子里,允许有的篮子为空,问共有几种分法? 例如:3, 2, 1和2, 1, 3是同一种分法. 输入描述: 一行两个数字n,m(1<=n<=70,1<= ...

  5. m个苹果放入n个盘子问题

    题目: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. 输入 每个用例包含二个整数M和N.0<=m< ...

  6. 将m个苹果放入n个盘子的问题【转】

    来自:http://blog.csdn.net/qq675927952/article/details/6312255 问题1: m----->相同, n---> 相同,可为空 将m个苹果 ...

  7. POJ 1664 求m个苹果放入n个盘子的不同放法数目 递归 分类讨论

    通过分类讨论,将规模较大的问题转换成规模较小的相同问题,学会"降维",将索引值不断降小,就可以递归求解 设f(m,n)为把m个苹果放到n个盘子中的方法数,m>=0,n> ...

  8. m个苹果放入n个盘子

    题目描述 放苹果问题:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? (注:5,1,1和1,1,5是同一种分法) 解题分析: 设f(m,n) 为m个苹果,n个盘子 ...

  9. 递归算法《M个苹果放入N个盘子》

    题目: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. 输入 每个用例包含二个整数M和N.0<=m< ...

  10. POJ 1664 苹果放盘子(递归)

    题目链接:http://poj.org/problem?id=1664 m个相同的苹果放在n个相同的盘子里,有多少种不一样的方法. 例如,3个苹果放在4个盘子里有(3,0,0,0)(1,1,1,0)( ...

最新文章

  1. C#2.0实例程序STEP BY STEP--实例二:数据类型
  2. SpaceX龙飞船发射之后:在人类探索太空的征途中,深度学习能做什么?
  3. 【2015-10-19】内存管理---深浅拷贝,autorelease,ARC(自动引用计数)
  4. 聊一聊:我退钱了!你呢?
  5. 国内一线互联网公司内部面试题库
  6. priority_queue优先队列
  7. 学计算机的误解,让人误解的六大专业
  8. _Linux中功能强大的截图工具 - Flameshot
  9. 贪心算法(各种贪心题目)
  10. java反射机制中的getDeclaredField()
  11. JAVA---MYSQL 基本知识点 第一部分
  12. 西门子PLC与Intouch软件以太网通讯
  13. exp 导数oracle,指数函数 exp(x) 导数的直接求法
  14. linux系统下 usb网卡的驱动安装
  15. Endurance International Group任命曼尼什达拉尔为亚太区董事总经理
  16. TFN2.5G传输分析仪FT100-D300S——网络传输搭建维维护
  17. 【离散数学】谓词逻辑
  18. 用u盘制作简易dos启动盘
  19. lcs算法c语言代码,动态规划算法-LCS
  20. xls和 xlsx的区别 xlsx Excel文件怎么转换成 xls文件

热门文章

  1. Mac --显示隐藏文件
  2. 舆情监测系统功能及作用
  3. 没Switch也能玩有氧拳击 咕咚智能运动手表F4全面评测
  4. One Click软件简介
  5. 图论(七)哥尼斯堡七桥问题
  6. centos7 AMOEBA读写分离配置
  7. tableau之企业经营分析看版设计
  8. 凤凰网科技频道定位和主要内容
  9. 用Wireshark+小度WIFI抓手机app包
  10. 最小采样频率计算公式_音频文件大小计算公式-好文转载