递归思想----解决饮料问题
2017-10-02 12:34
253 查看
/** *问题:假如1块钱可以买1瓶汽水,3个瓶盖可以换一瓶汽水 * ,2个空瓶可以换一瓶汽水,编一段程序计算20块钱 * 总共可以买多少瓶汽水? */ public class recursion { public static int drinksNum; public static int bottle; public static int cap; /** * 获取初始数目即赋初值 * @param money */ public static void buydrinks(int money) { drinksNum = money; bottle = money; cap = money; } /** * 根据瓶子即瓶盖数判断是否满足兑换条件 * @return 返回值为最终所得数目 */ public static int getNum(){ if(cap/3>=1||bottle/2>=1) { int temp = (cap/3+bottle/2); //兑换的饮料数目 drinksNum += (cap/3+bottle/2); //增加后的饮料数目 bottle =bottle -(bottle/2)*2 +temp;//兑换后的空瓶数目 cap =cap - (cap/3)*3+temp; //兑换后的盖子数目 getNum(); } return drinksNum; } public static void main(String[] args) { buydrinks(20); int count = getNum(); System.out.println(count); } }
相关文章推荐
- Java基础知识强化之IO流笔记12:递归之递归解决问题的思想(图解)
- 递归思想解决经典问题
- 递归思想分析解决问题
- 利用递归思想解决问题
- 算法——递归思想解决排列组合问题
- 递归思想在解决问题时的应用
- 算法——递归思想解决排列组合问题
- IO流_递归解决问题的思想及图解
- 典型递归的思想解决汉诺塔问题
- 利用递归思想解决问题
- 递归思想解决小问题
- 约瑟夫环之二(用递归的思想解决Josephus问题)
- 递归思想解决汉诺塔的问题
- dfs 递归思想 解决排列组合的一些基础问题
- 第九周项目3---利用二叉树遍历思想解决问题
- 非递归解决组合问题
- 递归思想:汉诺塔问题
- 程序设计--浅谈编程解决实际问题的常见思想
- 用Python递归解决阿拉伯数字转为中文财务数字格式的问题(2)--打开思路的一种方法
- 分治法对最大连续和以及归并排序,分治与递归实质把问题区间区域分割成几个小区间或者小分区,一直下钻到一个元素小区解决问题