刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

啤酒兑换

时间限制:1s

内存限制:128mb

(注:input()括号中不允许添加任何提示语)

某啤酒品牌正在举办一次促销优惠活动。凭3个啤酒瓶可以再换一瓶啤酒,凭5个瓶盖也可以再换一瓶啤酒,换来的啤酒可以继续换,但不允许赊账。

请编写一段程序,计算一个人初始买入n(1≤n≤100)瓶啤酒后,最终他最多能得到多少瓶啤酒,并将这个结果输出。

输入描述:

输入一个正整数n,表示初始买入的啤酒瓶数(1≤n≤100)

输出描述:

输出一个正整数,表示最终能得到的啤酒数


输入样例:

10

输出样例:

19

使用微信搜索喵呜刷题,轻松应对考试!

答案:

br />输入n,输出最多得到的啤酒数。

解析:

【喵呜刷题小喵解析】
本题是一道模拟题,需要根据题目描述的规则,模拟计算一个人初始买入n瓶啤酒后,最终最多能得到多少瓶啤酒。

我们可以使用一个循环来模拟这个过程,直到不能再换啤酒为止。每次循环,判断当前瓶数能否换成新的啤酒,如果可以,则加上新换到的啤酒数,并减去相应的瓶数或瓶盖数。

具体实现时,我们可以维护两个变量,分别表示当前拥有的瓶数和瓶盖数。初始时,瓶数和瓶盖数都为0,然后读入初始买入的啤酒瓶数。接下来,进入一个循环,直到当前拥有的瓶数或瓶盖数小于兑换啤酒所需的数量。

在每次循环中,我们判断当前拥有的瓶数能否兑换新的啤酒。如果可以,我们计算出能够兑换到的啤酒数,将瓶数减去兑换所需的数量,并加上新兑换到的啤酒数。如果当前拥有的瓶盖数能够兑换新的啤酒,我们同样进行处理。

最终,我们输出最终得到的啤酒数。

由于本题要求输出的是最多能得到的啤酒数,因此我们需要保证在每次循环中,都尽可能多地兑换啤酒。具体来说,我们应该先判断当前拥有的瓶数能否兑换新的啤酒,如果可以,则优先使用瓶数进行兑换。如果瓶数不足,再使用瓶盖进行兑换。

以下是示例代码:


```python
n = int(input())
bottles = n
caps = 0
result = n
while bottles >= 3 or caps >= 5:
if bottles >= 3:
new_bottles = bottles // 3
bottles -= 3 * new_bottles
result += new_bottles
if caps >= 5:
new_caps = caps // 5
caps -= 5 * new_caps
result += new_caps
if bottles >= 3:
new_bottles = bottles // 3
bottles -= 3 * new_bottles
result += new_bottles
if caps >= 5:
new_caps = caps // 5
caps -= 5 * new_caps
result += new_caps
print(result)
```
该代码首先读入初始买入的啤酒瓶数,然后进入一个循环,直到当前拥有的瓶数或瓶盖数不足兑换啤酒所需的数量。在每次循环中,我们先判断当前拥有的瓶数能否兑换新的啤酒,如果可以,则优先使用瓶数进行兑换。如果瓶数不足,再使用瓶盖进行兑换。最终输出最终得到的啤酒数。
创作类型:
原创

本文链接:啤酒兑换 时间限制:1s 内存限制:128mb (注:input()括号中不允许添加任何提示语) 某

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share