题解 | #汽水瓶#
汽水瓶
http://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f
def max_bottles(n):
"""递归实现可以兑换的饮料数量"""
result = n // 3 # 可以兑换的饮料数量
bottles = n // 3 + n % 3 # 兑换后可用空瓶数量
if bottles == 2: # 2个空瓶可以问老板借1瓶,可兑换的饮料数量加1
result += 1
elif bottles < 2: # 2个以下的空瓶不可兑换
result += 0
else: # 其他数量空瓶可兑换的饮料递归该函数获取
result += max_bottles(bottles)
return result
while True:
try:
n = int(input())
if n == 0:
break
else:
print(max_bottles(n))
except:
break