1.
汽水瓶
某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。
小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。
数据范围:输入的正整数满足 1≤�≤100 1≤n≤100
注意:本题存在多组输入。输入的 0 表示输入结束,并不用输出结果。
import sys
def max_soda_bottles(n):
if n == 0:
return 0
total_bottles = 0 # 总共喝到的汽水瓶数
while n >= 3: # 当剩余瓶数大于等于3时可以进行兑换
new_bottles = n // 3 # 兑换得到的新汽水瓶数
total_bottles += new_bottles # 将新瓶数累加到总数中
n = new_bottles + n % 3 # 更新剩余瓶数,兑换后的新瓶数加上剩余瓶数
if n == 2: # 剩余2个瓶子可以借1个瓶子换一瓶汽水
total_bottles += 1
return total_bottles
while True:
n = int(input()) # 输入空汽水瓶数量
if n == 0: # 输入为0表示结束
break
result = max_soda_bottles(n)
print(result)
for line in sys.stdin:
a = line.split()
print(int(a[0]) + int(a[1]))
运行结果