题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝每天都锻炼身体。
正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。
小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1日周六(含)到 2020 年 10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
#include<iostream>
using namespace std;
bool check(int year)
{
if((year%400==0)||((year%4==0)&&(year%100!=0))) return true;
else return false;
}
int main()
{
int y,m,d,w=6,sum=0;
int mdp[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int mdr[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(y=2000;y<=2020;y++){
if(check(y)){
for(m=1;m<13;m++)
{
for(d=1;d<=mdp[m];d++)
{
if(d==1||w==1) sum+=2;
else sum+=1;
w=(w+1)%7;
if(y==2020&&m==10&&d==1)
{
cout<<sum<<endl;
break;
}
}
}
}
else{
for(m=1;m<13;m++)
{
for(d=1;d<=mdr[m];d++)
{
if(d==1||w==1) sum+=2;
else sum+=1;
w=(w+1)%7;
if(y==2020&&m==10&&d==1)
{
cout<<sum<<endl;
break;
}
}
}
}
}
return 0;
}