题目
1716.计算力扣银行的钱
题目大意
Hercy 想要为购买第一辆车存钱。他 每天 都往力扣银行里存钱。
最开始,他在周一的时候存入 1
块钱。从周二到周日,他每天都比前一天多存入 1
块钱。在接下来每一个周一,他都会比 前一个周一 多存入 1
块钱。
给你 n
,请你返回在第 n
天结束的时候他在力扣银行总共存了多少块钱。
样例
数据规模
思路
根据题意得规律: s u m = ( 1 + 2 + 3 + 4 + 5 + 6 + 7 ) + ( 2 + 3 + 4 + 5 + 6 + 7 + 8 ) + ( 3 + 4 + . . . ) + . . . sum=(1+2+3+4+5+6+7)+(2+3+4+5+6+7+8)+(3+4+...)+... sum=(1+2+3+4+5+6+7)+(2+3+4+5+6+7+8)+(3+4+...)+...,所以可以每7个数字为一个循环,然后设置一个初始值依次为1,2,3(可以由(i-1)/7来判断)
代码
class Solution {
public:
int totalMoney(int n) {
int sum=0;
for(int i=1;i<=n;i++){
int t=(i-1)/7,x=i%7+(i%7==0)*7;
sum+=t+x;
}
return sum;
}
};