python巧妙解决空瓶换酒问题

问题: 某超市促销,举办空酒瓶和酒瓶盖换酒活动,规定 2 个空瓶或 4 个瓶盖可换一瓶酒。若小明最开始买了 n 瓶酒,则他总共能喝到多少瓶酒?

思路: 如果瓶子数大于2或盖子数大于4就可以换一瓶酒,而得到一瓶酒之后又可以得到新的瓶子和盖子,那么我们用while循环可以巧妙地解决这个问题:

n = int(input())
lid=n;bottle=n;wine=n   #初始的瓶盖、瓶子、和酒的数量均为n
while lid>=4 or bottle>=2:
    if lid>=4:  #4个瓶盖换1瓶酒
        lid-=4
    else:  #2个瓶子换1瓶酒
        bottle-=2
    lid+=1;bottle+=1;wine+=1  #得到一瓶酒后瓶子和瓶盖和酒的数量均加一
print(wine)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值