ZBLOG

2块钱一瓶酒 2个瓶盖换一瓶,4个空瓶

给定每瓶酒2元,2个瓶盖可换1瓶酒,4个空瓶可换1瓶酒。求一定金额(如10元)最多能喝多少瓶酒。

解题步骤:

2块钱一瓶酒 2个瓶盖换一瓶,4个空瓶-图1
(图片来源网络,侵删)

1. 初始购买:用N元购买初始酒数,即 ( B = frac{N}{2} )(取整数部分)。

  • 例如,10元可买5瓶,喝完后得到5空瓶和5瓶盖,已喝5瓶。
  • 2. 循环兑换

  • 兑换规则
  • 每2瓶盖换1瓶,用 ( G = lfloor frac{当前瓶盖}{2} rfloor )。
  • 每4空瓶换1瓶,用 ( E = lfloor frac{当前空瓶}{4} rfloor )。
  • 更新剩余资源
  • 剩余瓶盖 = ( 当前瓶盖 % 2 + 兑换的酒数 )。
  • 剩余空瓶 = ( 当前空瓶 % 4 + 兑换的酒数 )。
  • 重复兑换直到无法再兑换。
  • 以10元为例计算:

    2块钱一瓶酒 2个瓶盖换一瓶,4个空瓶-图2
    (图片来源网络,侵删)
  • 初始:10元买5瓶,已喝5瓶,剩余5空瓶、5瓶盖。
  • 第1轮兑换
  • 瓶盖换2瓶,空瓶换1瓶,共3瓶。
  • 剩余瓶盖:(5%2 +3 =4),空瓶:(5%4 +3 =4),累计喝8瓶。
  • 第2轮兑换
  • 瓶盖换2瓶,空瓶换1瓶,共3瓶。
  • 剩余瓶盖:(4%2 +3 =3),空瓶:(4%4 +3 =3),累计喝11瓶。
  • 第3轮兑换
  • 瓶盖换1瓶,空瓶无法换。共1瓶。
  • 剩余瓶盖:(3%2 +1 =2),空瓶:(3%4 +1 =4),累计喝12瓶。
  • 第4轮兑换
  • 瓶盖换1瓶,空瓶换1瓶,共2瓶。
  • 剩余瓶盖:(2%2 +2 =2),空瓶:(4%4 +2 =2),累计喝14瓶。
  • 第5轮兑换
  • 瓶盖换1瓶,空瓶无法换。共1瓶。
  • 剩余瓶盖:(2%2 +1 =1),空瓶:(2%4 +1 =3),累计喝15瓶。
  • 第6轮兑换:无法再兑换,结束。
  • 最终结果:

    10元最多可喝 15瓶酒

    一般公式:

    2块钱一瓶酒 2个瓶盖换一瓶,4个空瓶-图3
    (图片来源网络,侵删)

    对于金额N元,总酒数 ( T = B + sum (每次兑换的酒数) ),通过循环计算瓶盖和空瓶的兑换,直到无法兑换为止。

    分享:
    扫描分享到社交APP
    上一篇
    下一篇
    发表列表
    请登录后评论...
    游客 游客
    此处应有掌声~
    评论列表

    还没有评论,快来说点什么吧~