快乐水题1716. 计算力扣银行的钱
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快乐水题1716. 计算力扣银行的钱相关的知识,希望对你有一定的参考价值。
原题:
题目简述:
Hercy 想要为购买第一辆车存钱。他 每天 都往力扣银行里存钱。
最开始,他在周一的时候存入 1 块钱。从周二到周日,他每天都比前一天多存入 1 块钱。在接下来每一个周一,他都会比 前一个周一 多存入 1 块钱。
给你 n ,请你返回在第 n 天结束的时候他在力扣银行总共存了多少块钱。
解题思路
1.算出周数nWeeks和零头的天数nDays;
2.计算每周的钱数:28+7*i(i的范围(0,nWeeks)),累加起来;
3.计算零头天数每天的的钱:nWeeks + j + 1(j的范围(0,nDays)),累加起来;
4.把上述的钱加起来即可;
5.over;
C++代码:
class Solution
public:
int totalMoney(int n)
int nWeeks= n / 7; //周数
int nDays = n - 7*nWeeks; //零头数
//cout << nWeeks << " " << nDays << endl;
int total = 0;
for(int i = 0; i < nWeeks; i++)
total += 7*i + 28;
for(int j = 0; j < nDays; j++)
total += nWeeks + j + 1;
return total;
;
力扣结果展示:
以上是关于快乐水题1716. 计算力扣银行的钱的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 1716. 计算力扣银行的钱 / 382. 链表随机节点(蓄水池抽样) / 1220. 统计元音字母序列的数目(动规,矩阵快速幂)
LeetCode 1716 计算力扣银行的钱[数学 前缀和] HERODING的LeetCode之路