题解 | #汽水瓶#
汽水瓶
https://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f
我的思路:
# 1、假设我有3个以上的空瓶,直接找老板换即可,空瓶数-2(-3+1),且喝汽水数+1,如此循环直到空瓶数小于3,优化一下可以减少循环次数,直接用整除3即可
# 2、假设我现在不到3瓶汽水了,若是2空瓶可以找老板赊一个空瓶,兑换完还一个空瓶;若是1空瓶则无法再兑换
lines = []
now_input = eval(input())
while now_input:
lines.append(now_input)
now_input = eval(input())
for empty_num in lines:
has_drink = 0
while empty_num >= 3:
buy_num = empty_num // 3
empty_num -= 2 * buy_num
has_drink += buy_num
if empty_num == 2:
has_drink += 1
elif empty_num < 2:
pass
else:
# 程序不该走到这一步
raise ValueError(f"{empty_num} : 大于2, 程序不该走到这一步")
print(has_drink)
