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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP