啤酒两元一瓶,两个空瓶换一瓶,四个盖子换一瓶
问: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);}
}

递归——瓶盖换酒问题相关推荐

  1. 酒瓶与瓶盖换酒问题 - 10块钱可以喝多少瓶酒

    前些日子有QQ好友发给我下面这个问题: 啤酒2块钱1瓶,4个盖换一瓶,2个空瓶换一瓶,问10块钱可以喝多少瓶. 当时没有时间算这个问题(其实就是懒得动笔和动脑子),但这几天又老想着这个问题,所以今天决 ...

  2. python 瓶盖换酒问题(啤酒2块钱一瓶,2个酒瓶可以换一瓶酒,4个瓶盖可以换一瓶酒 问10块钱可以喝几瓶酒)

    问题:2元一瓶酒,2个空瓶换一瓶,4个瓶盖换一瓶 问10块钱买几瓶酒?? 最终喝到酒的数量 class Change:def __init__(self,money):self.money=money ...

  3. Python3多思路解决空瓶换酒问题

    思路导航 前言 一.一行代码 二.迭代求解 三.递归求解 总结 前言   空瓶换酒是一类很经典的智力趣题,也有很多不同的问题版本.本文旨在小结其解决方法,以加深理解.   空瓶换酒的目标是求解最终能喝 ...

  4. 现在有N元钱,两块钱一瓶,或者直接给你N瓶酒,两个空瓶换一瓶酒,四个瓶盖换一瓶酒,问你最后可以喝多少瓶?如果能借酒呢?

    问题描述:现在有N元钱,两块钱一瓶,或者直接给你N瓶酒,两个空瓶换一瓶酒,四个瓶盖换一瓶酒,问你最后可以喝多少瓶?如果能借酒呢? 解决思路1: N元钱,其实就是N/2瓶酒.所以我们在程序中直接使用N瓶 ...

  5. python随想之python的脑力小运动买酒问题(2元一瓶酒,2个空瓶换一瓶,4个瓶盖换一瓶)

    脑力小运动 预防痴呆的小问题 2元一瓶酒,2个空瓶换一瓶,4个瓶盖换一瓶 问10块钱买几瓶酒?? 使用面向对象的方法 class Change:def __init__(self,money):sel ...

  6. 两个瓶盖换一瓶可乐问题

    问题描述 无意间想起了这样一个问题: 一块钱可以买1瓶可乐,两个瓶盖子可以又可以换一瓶可乐,问,现在有十块钱,最多可以喝多少瓶可乐? 背景 相信这个问题应该有不少人问过,而且,面试编程的时候居然也有人 ...

  7. 【原创】10元买啤酒2个空瓶换一瓶4个瓶盖换一瓶经典算法

    转载请注明出处:http://blog.csdn.net/li396864285/article/details/51519786 [原创]10元买啤酒2个空瓶换一瓶4个瓶盖换一瓶,经典算法原题目:1 ...

  8. JAVA2块钱瓶子_啤酒2元一瓶,4个瓶盖换一瓶,2个空瓶换一瓶,问:10元钱可以喝几瓶。用java编程解出答案,求大神们帮忙...

    点击查看啤酒2元一瓶,4个瓶盖换一瓶,2个空瓶换一瓶,问:10元钱可以喝几瓶.用java编程解出答案,求大神们帮忙具体信息 答:package test;public class Test {publ ...

  9. LeetCode刷题进阶之换酒问题(1518)

    一.题目 演示示例: 二.测试代码 //方法一 数学 class Solution {public int numWaterBottles(int numBottles, int numExchang ...

最新文章

  1. ceph 部署单机集群
  2. DevExpress的分隔条控件SplitterControl的使用
  3. 解决 Windows To Go U盘没有盘符的问题
  4. 深度学习分割json_to_data报错Too many dimensions: 3 > 2
  5. androidfiletransfer_mac手机助手(Android File Transfer)下载_mac手机助手(Android File Transfer)官方下载...
  6. Charting for WinForms控件发布v3.5版本
  7. 2015年创业中遇到的技术问题:21-30
  8. dual vector space
  9. 如何高效学习web_使用高效的Web工具改善您的业务
  10. Mac ffmpeg推流记录
  11. Python 数据科学入门教程:Pandas
  12. 第16章 起舞不落幕——与纹理映射的华丽邂逅
  13. HTML网页中显示图片(相对路径 绝对路径)
  14. 請問下需要一套繁體字多商戶商城+跑腿外賣系統
  15. 致敬!向中外9名杰出女数学家
  16. Mac使用Homebrew极速安装启动RabbitMQ一把梭
  17. Java软件架构设计
  18. BlockQueue
  19. 公司企业小程序怎么开发自己的小程序
  20. 如何使用DiVa测试UDS On DoIP

热门文章

  1. 计算机word有关表格的考点,2017职称计算机word2003考点文本与表格的转换
  2. java jsp交友系统_交友网站系统的设计与实现(JSP,MySQL)(含录像)
  3. MySql按列分组然后求和
  4. xpath取最后一个元素
  5. 每日学一个设计模式8——抽象工厂模式
  6. python爬取qq音乐歌曲链接为什么播放不出来_手把手教你使用Python抓取QQ音乐数据(第一弹)...
  7. 黑帽seo收徒:目录站群的十三项功能
  8. 帆软填报--行式填报报表
  9. 高德发布物流行业LBS解决方案
  10. LeetCode 713 乘积小于K的子数组