题目
Hercy 想要为购买第一辆车存钱。他 每天 都往力扣银行里存钱。最开始,他在周一的时候存入 1 块钱。从周二到周日,他每天都比前一天多存入 1 块钱。在接下来每一个周一,他都会比 前一个周一 多存入 1 块钱。
给你 n ,请你返回在第 n 天结束的时候他在力扣银行总共存了多少块钱。
示例 1:
输入:n = 4
输出:10
解释:第 4 天后,总额为 1 + 2 + 3 + 4 = 10 。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/calculate-money-in-leetcode-bank
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
分析
首先计算一共有几个整周,剩余多少天,根据题意可得每周有28元,接着每增加一周都会增加7*周数 快钱,最后按照求数列和的数学公式计算出剩余的天数的钱就欧克啦。
代码
class Solution {
public:
int totalMoney(int n) {
int weekly = n/7 ; //一共几周
int daylt = n%7 ; //剩余几天
int sum = weekly*28 ;
int i = 0;
for ( i = 0 ; i<weekly ;i++)
{
sum+= i*7 ;
}
cout<<sum ;
sum+= (weekly*2+1+daylt)*daylt/2 ;
return sum ;
}
};