在Python中编写查找我们在银行中拥有的总金额的程序

在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的下整数

    • 对于范围为1到div-1的i,执行以下操作:

      • res:= res + s + 7 * i
    • rem:= n模7

    • 对于范围为1到rem的i,执行以下操作:

      • res:= res + i + div
  • 否则,
    • 对于范围为1到n的i,执行以下操作:
      • 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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程