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
广告