1716. Calculate Money in Leetcode Bank
题目简介
/**
* @param {number} n
* @return {number}
*/
题目给我们一个参数 n,代表存了多少天的钱
题目要求我门根据 n 求出当前银行存款有多少了
存钱的规则如下:
- 在每个星期中,下一天的存款金额比上一天+1
- 如果当前是第 n 周,则当周星期一的存款金额是 n 块钱
- 第一个星期星期一存入 1 块钱
解题思路
这题比较简单,我们只需要判断当前的 n 是在第几周的第几天就可以了
根据题目描述,每一周都会比上一周多存 5 块钱
而每一天会比前一天多存 1 块钱
计算出结果即可
Javascript
/**
* @param {number} n
* @return {number}
*/
var totalMoney = function (n) {
let res = 0
const FIRST_WEEK_SAVING = (1 + 7) * 7 / 2
const weeks = Math.floor(n / 7)
const restDays = n % 7
for (let i = 0; i < weeks; i++) {
res += FIRST_WEEK_SAVING + i * 7
}
for (let i = 0; i < restDays; i++) {
res += 1 + weeks + i
}
return res
};