1元1瓶水2个空瓶换一瓶水,20元可以最多喝多少瓶解析

使用的是python 语言的,迭代和递归找每一次比上一次的规律

def f1(pay):

money = 1

sum = 1

while money < pay:

money = money +1

sum = sum + 2

return sum

#for i in range(1,21):

print(f"{i}元可以喝{f1(i)}瓶水")

解析 1元喝一瓶,2元可以喝3瓶,3元呢,当于2元的基础上增加了1元的购买量,隐形的增加了1瓶水,喝过后是多了一个空瓶

每次多花一元就比原来多喝两瓶

def f(money):
if money1:
sum=1
elif money>1:
sum=f(money-1)+2
return sum
for i in range(1,21):
print(f"{i}
{f(i)}")

 跑一圈得出结果是39,但是如果是面试题 的话,可以再加上一句 看能不能借一个空瓶子,如果可以借的话,就是40瓶
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金玉满堂@bj

朋友,你的打赏就是我创作的认可

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值