python买水问题_空瓶子换水问题 - python-yzw - OSCHINA - 中文开源技术交流社区

有十块钱,每瓶水两块钱,每四个瓶盖或两个空瓶子可换一瓶水,问最多能喝到多少瓶水?

答:

10元先买5瓶

喝完之后剩5个瓶子和5个瓶盖 可以换3瓶 还剩1个瓶子和1个瓶盖

3瓶喝完 还剩4个瓶子和4个瓶盖 可以换3瓶

3瓶喝完之后剩3个瓶子和3个瓶盖 可以换1瓶 剩余1个瓶子和3个瓶盖

1瓶喝完后剩余2个瓶子和4个瓶盖 可以换2瓶

2瓶喝完后还剩2个瓶子和2个瓶盖 可以换1瓶 剩余2个瓶盖

1瓶喝完后还剩1个瓶子和3个瓶盖

总共可以喝5+3+3+1+2+1=15瓶

1个瓶子和3个瓶盖 借一个瓶换一瓶,喝完把瓶子还给别人,剩余4个瓶盖

15+1=16

4个盖子换一瓶,喝完剩余一个瓶子,一个瓶盖

16+1=17

一个瓶子,一个瓶盖 借一个瓶换一瓶,喝完把瓶子还给别人,剩余2个瓶盖

17+1=18

总共可以喝18瓶,剩余两个瓶盖

如果一个瓶子和两个盖子等价,还可以借两个盖子,喝完还瓶子,剩余1个盖子

18 +1 = 19

再借三个盖子,换一瓶,喝完还瓶子和瓶盖(当还三个盖子),剩余0个盖子

19 + 1 = 20

总共可以喝20瓶,没有剩余!

连续函数可以这样理解

2块钱一瓶水,两个瓶子换一瓶 那么瓶子1元一个,四个瓶盖一瓶,那么瓶盖就是5毛,那么水钱就是2-1-0.5&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值