华为上机--放苹果
来源:互联网 发布:别墅网络覆盖方案 编辑:程序博客网 时间:2024/06/01 09:51
对于m个苹果,n个盘子f(m,n):
如果m<n,那么就跟m个盘子,m个苹果是一样的f(m,m)。
如果m>n,那么有两种情况:一种有空盘子的情况,一种没有空盘子的情况,两种情况不重叠且加一起一定为情况总数。
第一种情况:m个苹果放在n-1个盘子里,因为至少有1个空盘子,即f(m,n-1)
第二种情况:每个盘子都至少有一个苹果,m-n个苹果再放到n个盘子里,即f(m-n,n)。
由上面两种情况得到递归式f(m,n)=f(m,n-1)+f(m-n,n)。
代码:
import java.util.Scanner;public class Main {public static int fways(int m, int n) {if (m == 0 || n == 1)return 1;if (m < n)return fways(m, m);elsereturn fways(m, n - 1) + fways(m - n, n);}public static void main(String args[]) {Scanner input = new Scanner(System.in);while (input.hasNext()) {String line = input.nextLine();String[] arrays = line.split(" ");System.out.println(fways(Integer.parseInt(arrays[0]),Integer.parseInt(arrays[1])));}}}
0 0
- 华为上机--放苹果
- 【华为oj】放苹果
- 华为oj_放苹果
- 华为oj 放苹果
- 华为oj 放苹果
- 【华为 OJ】 放苹果
- 【华为OJ】放苹果
- 华为OJ:放苹果
- 华为OJ放苹果
- 北大上机题-放苹果
- 华为OJ:2041 放苹果
- 华为OJ(放苹果)
- 【华为OJ】【080-放苹果】
- 华为机试---放苹果
- 华为OJ 初级:放苹果
- 华为oj初级 放苹果
- 华为在线编程-放苹果
- 【华为机试】放苹果
- java中HashMap的遍历
- AsyncTask与HttpURLConnection下载网络图片
- android 实现上下文菜单实例
- Android笔记
- img底部3px留白
- 华为上机--放苹果
- MySQL 添加 新用户
- 智能指针之shared_ptr
- LintCode算法题解
- UVA 11021 Tribles
- 使用getopt命令解析shell脚本的命令行选项
- canvas的drawText 如何将文字绘制在控件的中心
- 单选框的用法即几种常见对话框
- 带符号整数的除法与余数