每瓶汽水一元,两个空瓶可以置换一瓶汽水,现有N元,最多能喝多少瓶?
--------------------------------------------------------------------------------
这是一个很容易出错的题;假如有20元,一共能喝sum瓶汽水,每两个空瓶可以换一瓶汽水;第一次可以买20瓶,则sum=20,此时剩下20个空瓶;用这20十个空瓶可以换10瓶汽水,此时sum=20+10;则又有十个空瓶,可以换5瓶汽水,此时,sum=20+10+5;注意:此时5/2=2余下一个空瓶;记作count=1;此时sum=20+10+5=2;然后用这个两个空瓶又可以换一瓶,此时sum=20+10+5+2+1;当这一瓶喝完后,由于1/2=0;现在有的同学就说20元一共可以喝38瓶汽水。但你错了,之前还余了一个空瓶加上最后这个空瓶一共两个,可以再换一瓶,所以,最终结果是:sum=20+10+5+2+1+1=39瓶。另外,如果这最后两瓶喝完了再向老板借一个空瓶,然后又可以兑换一瓶,完了再将这个空瓶还给老板,此时sum=40,本程序不做此考虑。
--------------------------------------------------------------------------------
C语言源码为:
# include <stdio.h>
# include <stdlib.h>int main()
{int piece = 1;int money = 0;int sum = 0;int E_bottle = 0;int left = 0, ret = 0; printf("请输入金额:");scanf("%d",&money);sum = money / piece;E_bottle = sum;while (E_bottle){E_bottle = E_bottle / 2;sum += E_bottle;if (E_bottle == 1){left++; //1/2时余留一个空瓶}}E_bottle = money / piece;while (E_bottle){ret = E_bottle % 2;E_bottle = E_bottle / 2;if (ret == 1){left++; //5/2是余一个空瓶}}sum += left / 2;printf("%d元最多可以喝:%d瓶汽水\n",money,sum);system("pause");return 0;
}
------------------------------------------------------------------------------------------
干货小知识:const修饰全局变量时,存储在只读区(代码段区),不能通过指针修改其值,const修饰
局部变量时,存储在栈区,可以通过指针修改其值,VS下会报出警告,一般情况下,我们不修改const修
饰的变量。
------------------------------------------------------------------------------------------
转载于:https://blog.51cto.com/814193594/1708918
每瓶汽水一元,两个空瓶可以置换一瓶汽水,现有N元,最多能喝多少瓶?相关推荐
- 15元钱一杯咖啡,喝完后两个空杯换一杯,问:你有100元钱,最多可以喝到几杯咖啡
15元钱一杯咖啡,喝完后两个空杯换一杯,问:你有100元钱,最多可以喝到几杯咖啡 public static void main(String args[]){int count = 100/15; ...
- JavaScript 一元钱可以买一瓶水,两个空瓶可以换一瓶水,三个瓶盖可以换一瓶水,20块钱可以换多少瓶水。
<script>// 一元钱可以买一瓶水,两个空瓶可以换一瓶水,三个瓶盖可以换一瓶水,20块钱可以换多少瓶水.function maiS(money) {var water = money ...
- C语言编程《1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少瓶汽水》
C语言编程<1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少瓶汽水> 1.喝汽水编程思路 2.代码编写 1.喝汽水编程思路 (1)首先是用现有的钱购买汽水,一共是20元,所以第一 ...
- 现在有N元钱,两块钱一瓶,或者直接给你N瓶酒,两个空瓶换一瓶酒,四个瓶盖换一瓶酒,问你最后可以喝多少瓶?如果能借酒呢?
问题描述:现在有N元钱,两块钱一瓶,或者直接给你N瓶酒,两个空瓶换一瓶酒,四个瓶盖换一瓶酒,问你最后可以喝多少瓶?如果能借酒呢? 解决思路1: N元钱,其实就是N/2瓶酒.所以我们在程序中直接使用N瓶 ...
- 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?(方法2)
package com.zhiyou101; /*** 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?* @author Administrator**/pu ...
- JAVA2块钱瓶子_啤酒2元一瓶,4个瓶盖换一瓶,2个空瓶换一瓶,问:10元钱可以喝几瓶。用java编程解出答案,求大神们帮忙...
点击查看啤酒2元一瓶,4个瓶盖换一瓶,2个空瓶换一瓶,问:10元钱可以喝几瓶.用java编程解出答案,求大神们帮忙具体信息 答:package test;public class Test {publ ...
- * 3.喝啤酒问题,一瓶啤酒2元,两个空瓶子可以换一瓶啤酒,四个啤酒盖可以换一瓶啤酒,请问10元共可以喝多少瓶?
package dh12_1111.IO.FIB;/*** @Description TODO* @Author 湖大知行李国勇* @Date 2022/11/11 10:07* 3.喝啤酒问题,一瓶 ...
- 每瓶啤酒2元,2个空酒瓶或4个瓶盖可换1瓶啤酒。10元最多可喝多少瓶啤酒?
<?echo "每瓶啤酒2元,2个空酒瓶或4个瓶盖可换1瓶啤酒.n元最多可喝多少瓶啤酒?<br/>";for ($i=0; $i<=100 ; $i++) ...
- 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?
/* ************************************************************************ > File Name: water.cp ...
最新文章
- fragment error
- oracle 01775,set Autotrace使用的问题与解决
- Java黑皮书课后题第4章:4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母
- ajax请求可以延时吗,延时校验AJAX请求
- 返回一个整数数组中最大子数组的和。
- Lapsus$ 组织攻击很多大厂都在合作的软件咨询公司 Globant
- linux时间同步ntp服务的安装与配置
- python中类的创建_如何在python中为类动态创建类方法
- 使用永恒之蓝漏洞攻击电脑
- 中级职称考试 计算机 英语考试,中级职称工程师职称计算机考试需要考过哪些模块...
- Linux7(CentOs7.5)安装ssh、和修改ssh端口号
- 小程序上传大小限制问题解决
- html5考试总结300字,期中考试总结300字大全
- 【python基础】小练习③——华氏温度与摄氏温度转化
- ergonomic计算机专业英语,[听单词] 计算机专业英语词汇音频52,计算机英语单词MP3...
- 利用IDEA的远程debug进行远程代码调试。
- 互联网晚报 | 1月27日 星期四 | 微信推出“拜年红包”功能;快手推出蓝领招聘平台“快招工”;B站正式登陆PS5平台...
- C++中函数重载是如何实现
- openstack rdo_为什么我们在RDO中对OpenStack软件包构建使用测试
- 前端:你可能不知道的骨架屏方案设计