题目

Hercy 想要为购买第一辆车存钱。他 每天 都往力扣银行里存钱。

最开始,他在周一的时候存入 1 块钱。从周二到周日,他每天都比前一天多存入 1 块钱。在接下来每一个周一,他都会比 前一个周一 多存入 1 块钱。

给你 n ,请你返回在第 n 天结束的时候他在力扣银行总共存了多少块钱。

来源:力扣(LeetCode)


解答

本题是一道数学题,最终可以推导出公式,推导过程如下,以n = 17为例:

alt

代码如下:

class Solution {
public:
    int totalMoney(int n) {
        int a = n / 7;
        int b = n % 7;

        return (a*28+(a*(a-1)*7/2)) + ((1+a)*b+(b*(b-1)/2));
    }
};