博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[华为机试练习题]8.汽水瓶
阅读量:6816 次
发布时间:2019-06-26

本文共 1088 字,大约阅读时间需要 3 分钟。

题目

描述:

有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?

题目类别: 循环

难度: 中级
运行时间限制: 10Sec
内存限制: 128MByte
阶段: 入职前练习
输入:
输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表示小张手上的空汽水瓶数。n=0表示输入结束,你的程序不应当处理这一行。

输出:

对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。

样例输入:

3
10
81
0

样例输出:

1
5
40

代码

/*---------------------------------------*   日期:2015-06-29*   作者:SJF0115*   题目:汽水瓶*   来源:华为上机-----------------------------------------*/#include 
using namespace std;void helper(int &n,int &result){ if(n == 1){ return; }//if if(n == 2){ ++result; return; }//if result += n / 3; n = n % 3 + n / 3; helper(n,result);}int Drink(int n){ if(n <= 1){ return 0; }//if if(n == 2){ return 1; }//if int result = 0; helper(n,result); return result;}int main(){ int n; //freopen("C:\\Users\\Administrator\\Desktop\\c++.txt","r",stdin); while(cin>>n && n != 0){ cout<
<

转载地址:http://gnczl.baihongyu.com/

你可能感兴趣的文章
Mac OSX简单使用中会用到的
查看>>
Firefox 23中的新特性(新陷阱)
查看>>
SQL Server 造成cpu 使用率高的 6 原因
查看>>
MYSQL <=>运算符
查看>>
unable to access android sdk add-on list
查看>>
Azure Traffic Manager 现可与 Azure 网站集成!
查看>>
由.NET说到WCF(未完成)
查看>>
用motion实现家庭视频监控
查看>>
帝国cms缩略图:网站不同地方生成不同的缩略图
查看>>
python Django Ajax基础
查看>>
aop point-cut表达式
查看>>
第四周 day17 类名称空间,查询顺序等/组合
查看>>
easyui的 getSelections 与 getSelected 对比区别
查看>>
后缀数组模板 UOJ#35. 后缀排序
查看>>
[转]DirectX Rendering Pipeline渲染管线图
查看>>
ImageMaigck不支持中文路径的问题
查看>>
俄罗斯方块
查看>>
ZOJ 2061 - Buy the Ticket
查看>>
博客园定制页面(五)——使用自定义JS脚本(公告栏显示时间)
查看>>
清华申请退学博士作品:完全用Linux工作
查看>>