題目
2021浙江春晚,郭冬臨到底喝了多少水?
2個瓶蓋 換1瓶, 4個空瓶 換1瓶,請問5,能喝到多少汽水?
解答
寫了2種
all_water_num = 0 # 喝水總數
empty_bottle = 0 # 空瓶總數
capsule = 0 # 瓶蓋
def exchange(num):
global all_water_num
global empty_bottle
global capsule
# 空瓶和瓶蓋需要累加
empty_bottle += num
capsule += num
all_water_num += num
if empty_bottle < 4 and capsule < 2: return all_water_num
water_num = 0 # 能兌換的數量
water_num += empty_bottle // 4
water_num += capsule // 2
# 更新空瓶和瓶蓋
empty_bottle = empty_bottle % 4
capsule = capsule % 2
return exchange(water_num)
def run2(num):
def exchange2(empty_bottle, capsule, all_water_num):
if empty_bottle < 4 and capsule < 2: return all_water_num
water_num = 0
water_num += empty_bottle // 4
water_num += capsule // 2
empty_bottle = empty_bottle % 4
capsule = capsule % 2
all_water_num += water_num
empty_bottle += water_num
capsule += water_num
return exchange2(empty_bottle, capsule, all_water_num)
return exchange2(num, num, num)