Python程序:求解最多能喝多少瓶水


假设有n瓶完整的矿泉水,我们可以用m个空瓶换一瓶完整的矿泉水。喝完一瓶完整的矿泉水后,它就变成了空瓶。我们需要找到最多能喝多少瓶矿泉水。

例如,如果输入n = 9,m = 3,则输出为13,因为我们最初有9瓶,喝完后可以得到9/3 = 3瓶完整的矿泉水,喝完这3瓶后,我们有3个空瓶,可以用它们换一瓶并喝掉,所以总共喝了9 + 3 + 1 = 13瓶。

为了解决这个问题,我们将遵循以下步骤:

  • x:= n, s:= 0, k:= 0

  • 当 x >= m 时,执行以下操作:

    • k:= x mod m

    • x:= x / m 的商

    • s:= s + x

    • x:= x + k

  • 返回 n + s

示例 (Python)

让我们看下面的实现来更好地理解:

 在线演示

def solve(n, m):
   x=n
   s=0
   k=0
   while x >= m:
      k=x % m
      x=x // m
      s=s + x
      x=x + k
   return n + s

n = 9
m = 3
print(solve(n, m))

输入

9, 3

输出

13

更新于:2021年5月17日

591 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告