递归思想解题,可以兑换的瓶数为空瓶整除以3,剩余的空瓶数量为空瓶整除以3加上空瓶整除以3的余数。
def max_bottles(n):
result = n // 3
bottles = n // 3 + n % 3
if bottles == 2: # 空瓶数量为2,可以借一瓶,此后不能再兑换
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