递归——瓶盖换酒问题
啤酒两元一瓶,两个空瓶换一瓶,四个盖子换一瓶
问:10元可以买几瓶?
分析:第一次购买完啤酒后,将拥有的盖子和瓶子转换成钱,递归购买
public class BeerProblem {public static int allBeerNum;//记录购买的啤酒总数public static int lastPingZiNum;//记录瓶子剩余public static int lastGaiZiNum;//记录盖子剩余public static void main(String[] args) {buyBeer(10);System.out.println("可以买:"+allBeerNum+"瓶,剩余瓶子数:"+lastPingZiNum+",剩余盖子数:"+lastGaiZiNum);}public static void buyBeer(int money){//购买啤酒int number =money/2;allBeerNum +=number;//计算出当前拥有的瓶子盖子数int currentPingZiNum = lastPingZiNum + number;int currentGaiZiNum = lastGaiZiNum + number;//将瓶子换成钱int total =0;total +=(currentPingZiNum/2)*2;lastPingZiNum = currentPingZiNum %2;//将盖子换成钱total += (currentGaiZiNum/4)*2;lastGaiZiNum =currentGaiZiNum % 4;//拿瓶子和盖子换酒if (total >=2)buyBeer(total);}
}
递归——瓶盖换酒问题相关推荐
- 酒瓶与瓶盖换酒问题 - 10块钱可以喝多少瓶酒
前些日子有QQ好友发给我下面这个问题: 啤酒2块钱1瓶,4个盖换一瓶,2个空瓶换一瓶,问10块钱可以喝多少瓶. 当时没有时间算这个问题(其实就是懒得动笔和动脑子),但这几天又老想着这个问题,所以今天决 ...
- python 瓶盖换酒问题(啤酒2块钱一瓶,2个酒瓶可以换一瓶酒,4个瓶盖可以换一瓶酒 问10块钱可以喝几瓶酒)
问题:2元一瓶酒,2个空瓶换一瓶,4个瓶盖换一瓶 问10块钱买几瓶酒?? 最终喝到酒的数量 class Change:def __init__(self,money):self.money=money ...
- Python3多思路解决空瓶换酒问题
思路导航 前言 一.一行代码 二.迭代求解 三.递归求解 总结 前言 空瓶换酒是一类很经典的智力趣题,也有很多不同的问题版本.本文旨在小结其解决方法,以加深理解. 空瓶换酒的目标是求解最终能喝 ...
- 现在有N元钱,两块钱一瓶,或者直接给你N瓶酒,两个空瓶换一瓶酒,四个瓶盖换一瓶酒,问你最后可以喝多少瓶?如果能借酒呢?
问题描述:现在有N元钱,两块钱一瓶,或者直接给你N瓶酒,两个空瓶换一瓶酒,四个瓶盖换一瓶酒,问你最后可以喝多少瓶?如果能借酒呢? 解决思路1: N元钱,其实就是N/2瓶酒.所以我们在程序中直接使用N瓶 ...
- python随想之python的脑力小运动买酒问题(2元一瓶酒,2个空瓶换一瓶,4个瓶盖换一瓶)
脑力小运动 预防痴呆的小问题 2元一瓶酒,2个空瓶换一瓶,4个瓶盖换一瓶 问10块钱买几瓶酒?? 使用面向对象的方法 class Change:def __init__(self,money):sel ...
- 两个瓶盖换一瓶可乐问题
问题描述 无意间想起了这样一个问题: 一块钱可以买1瓶可乐,两个瓶盖子可以又可以换一瓶可乐,问,现在有十块钱,最多可以喝多少瓶可乐? 背景 相信这个问题应该有不少人问过,而且,面试编程的时候居然也有人 ...
- 【原创】10元买啤酒2个空瓶换一瓶4个瓶盖换一瓶经典算法
转载请注明出处:http://blog.csdn.net/li396864285/article/details/51519786 [原创]10元买啤酒2个空瓶换一瓶4个瓶盖换一瓶,经典算法原题目:1 ...
- JAVA2块钱瓶子_啤酒2元一瓶,4个瓶盖换一瓶,2个空瓶换一瓶,问:10元钱可以喝几瓶。用java编程解出答案,求大神们帮忙...
点击查看啤酒2元一瓶,4个瓶盖换一瓶,2个空瓶换一瓶,问:10元钱可以喝几瓶.用java编程解出答案,求大神们帮忙具体信息 答:package test;public class Test {publ ...
- LeetCode刷题进阶之换酒问题(1518)
一.题目 演示示例: 二.测试代码 //方法一 数学 class Solution {public int numWaterBottles(int numBottles, int numExchang ...
最新文章
- ceph 部署单机集群
- DevExpress的分隔条控件SplitterControl的使用
- 解决 Windows To Go U盘没有盘符的问题
- 深度学习分割json_to_data报错Too many dimensions: 3 > 2
- androidfiletransfer_mac手机助手(Android File Transfer)下载_mac手机助手(Android File Transfer)官方下载...
- Charting for WinForms控件发布v3.5版本
- 2015年创业中遇到的技术问题:21-30
- dual vector space
- 如何高效学习web_使用高效的Web工具改善您的业务
- Mac ffmpeg推流记录
- Python 数据科学入门教程:Pandas
- 第16章 起舞不落幕——与纹理映射的华丽邂逅
- HTML网页中显示图片(相对路径 绝对路径)
- 請問下需要一套繁體字多商戶商城+跑腿外賣系統
- 致敬!向中外9名杰出女数学家
- Mac使用Homebrew极速安装启动RabbitMQ一把梭
- Java软件架构设计
- BlockQueue
- 公司企业小程序怎么开发自己的小程序
- 如何使用DiVa测试UDS On DoIP
热门文章
- 计算机word有关表格的考点,2017职称计算机word2003考点文本与表格的转换
- java jsp交友系统_交友网站系统的设计与实现(JSP,MySQL)(含录像)
- MySql按列分组然后求和
- xpath取最后一个元素
- 每日学一个设计模式8——抽象工厂模式
- python爬取qq音乐歌曲链接为什么播放不出来_手把手教你使用Python抓取QQ音乐数据(第一弹)...
- 黑帽seo收徒:目录站群的十三项功能
- 帆软填报--行式填报报表
- 高德发布物流行业LBS解决方案
- LeetCode 713 乘积小于K的子数组