算法空瓶换酒

空瓶换酒
900
任务要求
参考答案
评论151
作者:周竞文(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)  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值