●买汽水问题是一道非常贴近生活的问题,它不
仅存在于现实生活中,也存在于编程题中。
汽水一元一瓶,两个空瓶可以换一瓶汽水,
用20元可以喝多少瓶汽水?
下面我就这个问题写下两种方法来解决这个问题
代码如下:
//方法一:
int main()
{
int money=20; //初始化钱
int empty=20; //初始化空瓶数
int total=20; //初始化喝汽水数
while(empty>1) //当空瓶数>1时,进行循环
{
total=total+empty/2;
// 喝汽水数+空瓶数的一半
empty=empty/2+empty%2;
//空瓶数/2+空瓶数对2求余
}
printf("%d",total);
//方法二:
我们知道借东西是要还的,那我们可以假设
向老板借20个空瓶子,
之后我们再还回去,
那么喝的汽水数就是:2*total;
但最后一个空瓶老板是不会借给你的,因为老板明白
如果借出去就亏了
所以
int total=20;
total=2*total-1;
//一步直接求出结果,是不是很香
printf("%d",total);
return 0;
}
// 方法三:按照上述喝水和用瓶子换的规则的话,可以发现,其实就是个等差数列:money*2-1
int main()
{
int money = 0;
int total = 0;
int empty = 0;
scanf("%d", &money);
if(money <= 0)
{
total = 0;
}
else
{
total = money*2-1;
}
printf("total = %d\n", total);
return 0;
}
汽水一元一瓶,用20元买汽水,可以喝多少瓶?(三种方法,个人觉得第二种更香)
原创
©著作权归作者所有:来自51CTO博客作者mb61cf0b2195f96的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
每瓶汽水1元,两个空瓶可以置换一瓶汽水,现有X元,最多能喝多少瓶汽水。
每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水。(C语言实现)注:编程时不应只局限于20元钱总数的这一种情况,而是根据输入的整数金额计算出相应的汽水数。
每瓶汽水1元 两个空瓶可以置换一瓶汽水 现在有20元 最多能喝多少瓶汽水。 -
C语言:每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水。
每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水。
每瓶汽水1元 两个空瓶可以置换一瓶汽水 现在有20元 最多能喝多少瓶汽水。 -
【C语言】【面试题】每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水
每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水
C语言 每瓶汽水1元 两个空瓶可以置换一瓶汽水 现在有20元 最多能喝多少瓶汽水 -
3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。问一共可以喝多少瓶可乐,剩下几个空瓶?
用简单的数学问题强化编程思维
数学思维 编程算法 数学算法