比如从2000年1月1日遍历到2020年10月1日,并且给了周几。
小蓝每天都锻炼身体。
正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了
激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。
小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年
10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?
遍历时间模板
int month[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int judge_run(int y) {
if(y % 400 == 0) return 1;
if(y % 4== 0 && y % 100 != 0) return 1;
return 0;
}
int main()
{
int y = 2000, m = 1, day = 1, zhou = 6;
while(1) {
if(y == 2020 && m == 10 && day == 2) break;
// 今天做了什么操作
....
day++;
zhou++;
if(zhou > 7) zhou = 1;
int maxdays = month[m];
if(judge_run(y) && m == 2) maxdays++;
if(day > maxdays) {
day = 1;
m++;
if(m > 12) {
y++;
m = 1;
}
}
}
return 0;
}