题目描述
小蓝每天都锻炼身体。
正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了
激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。
小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年
10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?
C++ 代码
#include <iostream>
using namespace std;
//模拟天数
int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
int y=2000,m=1,d=1,z=6,ans=0;
while(!(y==2020&&m==10&&d==2)){
int mday=day[m];
if(((y%400==0)||(y%4==0&&y%100!=0))&&(m==2)) mday++; //注意逻辑判断加括号
if(d==1||z==1) ans+=2;
else ans++;
d++;
z++;
if(d>mday){d=1;m++;}
if(z>7) z=1;
if(m>12){y++;m=1;}
}
cout<<ans;
}