1+2 -> 3
1+2+2 -> 6
1+2+2+2 -> 9
….

100个人,3人做一组,共33组,余1人,也即100/3==33, 100%3==1,3瓶水换一瓶,也即一组需要买两瓶(需要有一个作为启动),所以结论很明显了,100/33*2+1=67

# python
def need(n, b):return int(n/b*(b-1))+n%b

以上更多是一种规律、智力的方法;
我们接着使用更为常规的一般的编程手段实现对所需瓶盖的计算:

int need(int n, int k)
{// n: 表示需要喝饮料的人数// k: 表示多少瓶盖可以换一瓶水int cnt, drunk, caps = 0, 0, 0;// cnt: 表示买多少瓶水// drunk: 表示已喝过水的人数// caps: 当前的瓶盖数while (drunk < n){++cnt; ++drunl; ++caps;if (caps % k == 0) // if(caps == k){++drunk;caps = 1;}}return cnt;
}int main(int, char**)
{std::cout << need(100, 3) << std::endl;// 67return 0;
}

三个瓶盖能换一瓶水,问100个人需要喝水,最少需要买多少瓶水即可解决100人的喝水问题相关推荐

  1. java递归20元买汽水,瓶盖递归 1块钱买一瓶水,三个瓶盖是换一瓶汽水,问20块钱能买 多少瓶汽水(不能借)...

    瓶盖递归 1块钱买一瓶水,三个瓶盖是换一瓶汽水,问20块钱能买 多少瓶汽水(不能借)package com.ftl; import java.util.Scanner; public class Wa ...

  2. 瓶盖递归 1块钱买一瓶水,三个瓶盖是换一瓶汽水,问20块钱能买 多少瓶汽水(不能借)

    瓶盖递归 1块钱买一瓶水,三个瓶盖是换一瓶汽水,问20块钱能买 多少瓶汽水(不能借) package com.ftl;import java.util.Scanner;public class Wat ...

  3. JavaScript 一元钱可以买一瓶水,两个空瓶可以换一瓶水,三个瓶盖可以换一瓶水,20块钱可以换多少瓶水。

    <script>// 一元钱可以买一瓶水,两个空瓶可以换一瓶水,三个瓶盖可以换一瓶水,20块钱可以换多少瓶水.function maiS(money) {var water = money ...

  4. 28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(解读误区)

    28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐? 本来是一道很简单的问题(找个小学生都能算出来)但是大部分人都忽略了一个跟经济有关的问题. ...

  5. 【题目】27个小运动员在参加完比赛后,口渴难耐,去小店买饮料,饮料店搞促销,凭三个空瓶可以再换一瓶,他们最少买多少瓶饮料才能保证一人一瓶?

    文件名:[作业] 作者:〈漆黑〉 描述:〈 程序设计:27个小运动员在参加完比赛后,口渴难耐,去小店买饮料,饮料店搞促销,凭三个空瓶可以再换一 瓶,他们最少买多少瓶饮料才能保证一人一瓶? 要求: 尝试 ...

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

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

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

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

  8. 一块钱可以买一瓶水 两个空瓶可以换一瓶水 三个瓶盖换一瓶水 请问二十块钱可以买多少瓶水?

    package Test;import java.util.Scanner;/*** 一块钱可以买一瓶水 两个空瓶可以换一瓶水 三个瓶盖换一瓶水* 请问二十块钱可以买多少瓶水?* @author ui ...

  9. 关于三个瓶盖换一瓶汽水的问题的思考

    今天在朋友圈看到这样一个问题 一毛钱一个桃,三个核换一个桃,拿1块钱最多能吃几个桃 感觉脑海中忽然,某根神经被挑动了一下. 第一次看到这个题目的时候,应该是小学二三年级,学数学的时候,那时候没啥玩具, ...

最新文章

  1. 如何在团队中做好Code Review
  2. Codeforces 118 D. Caesar's Legions (dp)
  3. 罗马数字转整数Python解法
  4. linux 目录提权,【安全科普】Linux提权——利用可执行文件SUID
  5. java se下载完怎么启动_【Java SE】如何安装JDK以及配置Java运行环境
  6. ubuntu安装ulipad
  7. 王松波 计算机科学,王松波-华南农业大学华南农业大学动物科学学院
  8. 给 QuickTime 播放器添加方向键快进/快退功能
  9. 关于WEB页面处谷歌验证的接入
  10. group by column中的column与前面条件发生的错误的解决方案
  11. Win10 NVIDIA Container占用CPU高的处理方法
  12. Zookeeper--四字命令
  13. USACO Score Inflation 总分
  14. 实现一个 Spring Boot Starter 原来如此简单,读 Starter 源码也不在话下
  15. nyoj451 光棍节的快乐
  16. 苹果手机如何设置铃声
  17. html 超链接 ppt,《用HTML建立超链接》PPT课件.ppt
  18. 【调剂】青岛大学肿瘤精准医学研究院(青岛肿瘤研究院) 招收2022年调剂研究生...
  19. 慧鱼机器人编程19数据
  20. 强化学习Q-learning入门

热门文章

  1. android excel布局,Androidui布局控件(2)表格布局excelPanel
  2. Linux简单基本命令
  3. mysql被除数为0不报错_SQLServer中进行sql除法运算结果为小数时显示0的解决方案...
  4. mysql innodbmaxdirtypagespct_【MySQL】值得关注的参数
  5. 14的虚拟机可以用在15上面吗_环氧底漆是什么漆,分很多种吗?环氧底漆都可以用在什么上面...
  6. 并发编程(1): volatile、原子变量、自旋锁和互斥锁
  7. C语言/C++常见字符串函数
  8. 通俗易懂的机器学习入门
  9. Linux内核调度——《奔跑吧Linux内核》学习笔记
  10. Java 基础 引用数据类型 和 流程控制