题解 | #汽水瓶#
汽水瓶
https://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f
import sys
# for line in sys.stdin:
# a = line.split()
# print(int(a[0]) + int(a[1]))
# 递归解决思路
# 如果只有一个空瓶,喝不到水
# 如果有两个空瓶,喝一瓶水,剩下一个空瓶
# 如果有三个及以上的空瓶,喝水i//3瓶+递归函数(i//3+i%3)
def num_drink_water(num):
res = 0
if num == 1 or num == 0:
return 0
elif num == 2:
return 1
else:
return num//3 + num_drink_water(num//3+num%3)
while True:
try:
n = int(input())
if n!= 0: #n=0 表示输入结束,你的程序不应当处理这一行。
print(num_drink_water(n))
except EOFError as e:
break
