假设您在周一的第一天将 1R 存入银行。从第二天,周二到周日,你每天比前一天多投入 1 卢比。在接下来的每个星期一,您将比前一个星期一多投入 1Rs。如果我们有一个数字 n,我们必须找出在第 n 天结束时你在银行里的总金额。
所以,如果输入像 n = 17,那么输出将是 75,因为,周一放 1Rs,周二放 2Rs,依此类推,所以周日放 7Rs,然后下周一放 2Rs,第二个星期二放 3Rs,所以周日放 8Rs。然后在第三个星期一放 3Rs,星期二放 4Rs,星期三(最后一天)放 5Rs,所以总和是 (1+2+3+4+5+6+7)+(2+3+4+5+6+ 7+8)+(3+4+5) = 75Rs
让我们看看以下实现以获得更好的理解 -
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