题解 | #汽水瓶#
汽水瓶
https://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f
def max_sodas(empty_bottles): total_sodas = 0 while empty_bottles >= 3: # 计算本轮汽水数量增加 sodas = empty_bottles // 3 total_sodas += sodas # 更新最新的空水瓶:上一轮剩余的空瓶+刚刚喝完的空瓶 empty_bottles = empty_bottles % 3 + sodas # 如果有两个剩余的空,再借一个空的 if empty_bottles == 2: total_sodas += 1 return total_sodas # 读取input中每一个element,到0停止 while True: empty_bottle = int(input().strip()) if empty_bottle == 0: break print(max_sodas(empty_bottle))
看到有的解答是直接n//2的,有没有大佬讲下为啥这样可以啊。还是默认是借一个瓶子?