Python程式:計算銀行存款總額


假設你在第一天(週一)存入銀行1盧比。從第二天(週二)到週日,你每天都比前一天多存1盧比。每個後續的週一,你都比上一個週一多存1盧比。如果我們有一個數字n,我們必須找到在第n天結束時你將在銀行裡擁有的總金額。

所以,如果輸入像n = 17,那麼輸出將是75,因為,週一存入1盧比,週二存入2盧比,依此類推,週日存入7盧比,然後下一個週一存入2盧比,第二個週二存入3盧比,依此類推,週日存入8盧比。然後第三個週一存入3盧比,週二存入4盧比,週三(最後一天)存入5盧比,所以總和是(1+2+3+4+5+6+7)+(2+3+4+5+6+7+8)+(3+4+5)= 75盧比。

為了解決這個問題,我們將遵循以下步驟:

  • s := 28

  • res := 0

  • 如果 n > 7,則

    • res := s

    • div := n / 7 的向下取整

    • 對於 i 從 1 到 div - 1,執行

      • res := res + s + 7 * i

    • rem := n 模 7

    • 對於 i 從 1 到 rem,執行

      • res := res + i + div

  • 否則,

    • 對於 i 從 1 到 n,執行

      • res := res + i

  • 返回 res

示例(Python)

讓我們看看以下實現以更好地理解:

 線上演示

def solve(n):
   s = 28
   res = 0
   if n>7:
      res = s
      div = n//7
      for i in range(1,div):
         res += s+7*i
      rem = n % 7
      for i in range(1,rem+1):
         res += i+div
   else:
      for i in range(1,n+1):
         res+=i
   return res

n = 17
print(solve(n))

輸入

17

輸出

75

更新於: 2021年5月18日

496 次瀏覽

開啟你的職業生涯

完成課程並獲得認證

立即開始
廣告

© . All rights reserved.