题目:小明有10个空瓶子,每3个空瓶子可以换1瓶酒喝,有两个空瓶子时可以向老板借一瓶,喝完再用3个空瓶子换一瓶还给老板,问最多能喝多少瓶?
思路:此题需要使用递归,我们只需要知道什么时候手里的空瓶子数小于3(递归停止条件):并且等于2时,可以向老板借一瓶,等于1时,不够借;大于3时,继续用当前手里所有的空瓶子数(本次兑换的+不够兑换剩下的)继续递归即可。
代码如下:
def find_max_bottle_num(num=8, max_num=0):
if num < 1: # 此时不能换也不能借
return<