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 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.