用三种方式实现以下命题:
一瓶汽水1块钱,3个瓶盖换一瓶汽水,2个空瓶换一瓶汽水,假如手里有5块钱,能喝多少瓶汽水

java
采用经典Java OOP方式实现,一目了然。

/**已喝掉*/
static int sodaDrinked = 0;
/**汽水*/
static int soda = 5;
/**瓶盖*/
static int cap = 0;
/**空瓶*/
static int emptyBottle = 0;public static void main(String[] args){while (true) {if (soda > 0) {System.out.println("喝汽水");drink();pring();continue;}if (cap >= 3) {System.out.println("瓶盖换汽水");capToSoda();pring();continue;}if (emptyBottle >= 2) {System.out.println("空瓶换汽水");emptyBottleToSoda();pring();continue;}System.out.println("剩余: 瓶盖" + cap);System.out.println("剩余: 空瓶" + emptyBottle);System.out.println("喝掉:" + sodaDrinked);break;}}public static void drink() {
sodaDrinked++;
soda--;
cap++;
emptyBottle++;
}public static void capToSoda() {
cap = cap - 3;
soda++;
}public static void emptyBottleToSoda() {emptyBottle = emptyBottle - 2;soda++;
}public static void pring() {System.out.println("喝掉" + sodaDrinked + " 瓶盖" + cap + " 空瓶" + emptyBottle + " 剩余汽水" + soda);
}

Excel
细心的QA妹子,使用Excel最终获得答案,大写的赞

Python
下面代码“脏乱差”,不建议初学者去尝试读,因为这要有一丢丢的Python语法基础。

    # -*- coding: utf-8 -*-
# @Time    : 18/7/26 上午11:56
# @Author  : Ligang.Wang[wanglg@sqbj.com]
# @File    : SodaHandle.py
#class SodaHandle():totalSoda = 0def change(self, soda, time, cap, bottle):if time == 0:cap = sodabottle = sodaself.totalSoda += soda;else:cap += sodabottle += sodasoda = 0soda += cap // 3cap =cap % 3soda += bottle // 2bottle = bottle % 2print(" The time", time, "you could exchange soda:", soda, "remainder bottle:", bottle, ",remainder caps:", cap)time += 1if (soda > 0):self.totalSoda += sodaself.change(soda, time, cap, bottle)else:print(" Not enough caps and bottles to exchange!")def game(self):self.change(5, 0, 0, 0)print("You can drink ", self.totalSoda, "soda finally!")soda = SodaHandle()soda.game()

执行结果图:

java 迭代

    /***@Author小浣熊*/int p=5;
public void getInt(int k,int g){//k 是空瓶,g 指瓶盖,刚开始5块钱可以买5瓶,所以这里传5,5进来int aaa=k/2+k%2+g/3;//空int bbb=k/2+g/3+g%3;//盖p=p+k/2+g/3;if (aaa<2&&bbb<3){YUtils.i("12345","可以喝"+p+"瓶汽水");}else {getInt(aaa, bbb);}
}

一瓶汽水1块钱,3个瓶盖换一瓶汽水,2个空瓶换一瓶汽水,假如手里有5块钱,能喝多少瓶汽水相关推荐

  1. 【C# 练习】3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。问一共可以喝多少瓶可乐,剩下几个空瓶?

    题目:3个可乐瓶可以换一瓶可乐,现在有364瓶可乐. 问:一共可以喝多少瓶可乐,剩下几个空瓶! 首先先看题目 这是道数学题 (好家伙 真没想到还有数学问题qaq) 现在拿出草稿纸一起写: 3 个可乐瓶 ...

  2. JAVA 递归算法- 椰子汁5元一瓶,4个盖子可以换一瓶椰子汁,3个空瓶可以换一瓶椰子汁,那么 100 块钱可以喝多少瓶椰子汁,剩下瓶盖和空瓶各多少?

    目录 原题展示 做表理思路 当初始汽水为3瓶时 当初始汽水为4瓶时 分析提取数据逻辑 瓶子的个数的计算 盖子的个数的计算 汽水数目的计算 取模运算 源代码 成功截图 原题展示 椰子汁5元一瓶,4个盖子 ...

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

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

  4. 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?

    /* ************************************************************************ > File Name: water.cp ...

  5. 2块一瓶,2空瓶换一瓶,4瓶盖换一瓶,10块钱喝几瓶?

    最近看到一个面试题,觉得类似于脑筋急转弯,手里有10块钱,让去买啤酒, 2块钱一瓶,老板有又说:2个空瓶可以换一瓶啤酒,4个瓶盖可以换一瓶啤酒,这样我们到底可以弄到多少瓶啤酒. 第一次我们可以买:5瓶 ...

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

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

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

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

  8. 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?(方法2)

    package com.zhiyou101; /*** 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?* @author Administrator**/pu ...

  9. C语言编程《1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少瓶汽水》

    C语言编程<1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少瓶汽水> 1.喝汽水编程思路 2.代码编写 1.喝汽水编程思路 (1)首先是用现有的钱购买汽水,一共是20元,所以第一 ...

最新文章

  1. 【AI】图示:精确度(查准率)Precision、召回率(查全率)Recall
  2. 算法工程师面试问题及相关资料集锦(附链接)
  3. solaris磁带设备使用方法总结
  4. 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(四)地图导航控件模块...
  5. 判断访问接口的设备是安卓还是ios
  6. 修改用户名后TSF出现需要本地工作区。工作区 xxx 并未驻留在本计算机上
  7. Qt自定义事件实现及子线程向主线程传送事件消息
  8. 实验 4 操作、输出值和数据表实验报告--软件功能测试与性能测试实验
  9. 经典Android开发教程!这些新技术你们都知道吗?年薪超过80万!
  10. ado.net操作数据库
  11. 飞鸽传书,去看了下WEBBROWSER的资料
  12. 谷歌android wear智能腕表 价格,谷歌Android Wear 2.0更新推送:仅三款智能手表可享受...
  13. 大数据服务,至少有四点还值得存疑
  14. 大学四年软件工程专业的学习经验总结
  15. 搜狗新闻爬取怎么破解反爬机制呀,求指教
  16. db2dual_DB2中类似于ORACLE中的DUAL表的表
  17. ubuntu 16.04 下安装搜狗输入法教程
  18. #navigation
  19. Oracle导入dmp文件(cmd方式)
  20. tableau app android,tableau 安卓

热门文章

  1. Matlab:Matlab软件之Simulink的简介、特点、使用方法、界面介绍之详细攻略
  2. 微信小游戏个人开发者是怎样盈利的
  3. Jni 内存泄露(Failed adding to JNI pinned array ref table (1024 entries))
  4. 计算机的本质:在信息的控制下,利用能量实现运算。(提高单位能耗的计算能力,一直都是IT业发展的方向)
  5. 计算圆台高度的c语言程序,知道圆台的上面一个圆直径为2米下面圆的直径为3.6 米高为1.6米怎么算圆台的体积...
  6. dfs、bfs时候染色算法和直接传一个visited两种方法
  7. 没什么技术含量的Remove Before Flight
  8. 【学习OpenCV】基于opencv的直线和曲线拟合与绘制(最小二乘法)
  9. SQL 连接 JOIN 例解
  10. 一个小点阵图像JPG图片做吗?