题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝每天都锻炼身体。
正常情况下,小蓝每天跑 11 千米。如果某天是周一或者月初(11 日),为了激励自己,小蓝要跑 22 千米。如果同时是周一或月初,小蓝也是跑 22 千米。
小蓝跑步已经坚持了很长时间,从 20002000 年 11 月 11 日周六(含)到 20202020 年 1010 月 11 日周四(含)。请问这段时间小蓝总共跑步多少千米?
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
代码如下:
#include <bits/stdc++.h>
using namespace std;
int a[13] = {0, 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int main() {
int year = 2000, month = 1, day = 1, len = 2, week = 6; //len为长度,2020/1/1号先加上2
for (; year != 2020 || month != 10 || day != 1; len++) {
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) //闰年
a[2] = 29;
else
a[2] = 28;
day++;
week = (week + 1) % 7; //设置一个七进制,week=0时,为星期天
if (day > a[month]) {
day = 1;
month++;
}
if (month > 12) {
month = 1;
year++;
}
if (day == 1 || week == 1)
len++;
}
cout << len;
}