作者:周竞文(jwzhou@nudt.edu.cn)
来源:国防科技大学期中考试试题(2017 秋)
领域:生活
难度:★★★★★
任务描述
相关知识
编程要求
测试说明
任务描述
某超市促销,举办空酒瓶和酒瓶盖换酒活动,规定 2 个空瓶或 4 个瓶盖可换一瓶酒。若小明最开始买了 n 瓶酒,则他总共能喝到多少瓶酒?
相关知识
参考之前关卡。
编程要求
补全 Begin-End 区间的代码,其功能是根据第一次买的瓶数 n(用变量n表示),计算最多能喝多少瓶酒,说明如下:
1)n的值在程序运行时由系统自动设置(初始代码第 1 行),不要再额外设置,编程时假设其已知即可;
2)不要改动 Begin-End 区间之外的代码。
测试说明
本关共有若干测试集,在每个测试集中,系统会自动设置变量n的值,程序的功能是据此计算最多能喝多少瓶酒。例如,测试集 1 的输入是:
4
测试集 1 的运行结果为:
11
开始你的任务吧,祝你成功!
n = int(input()) ########## Begin ########## p = n # 瓶子 g = n # 瓶盖 s0 = 0 while p>=2 or g>=4: if p>=2: t = p//2 #酒瓶换酒瓶 p = p%2+t g = g + t s0 = s0 + t elif g>=4: t = g//4 #瓶盖换酒瓶 g = g%4+t p = p + t s0 = s0 + t else: pass print(n+s0)