试题D 跑步锻炼(10分)
【问题描述】
小蓝每天都锻炼身体。
正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了
激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。
小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年
10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
答案:8879
代码
#include <bits/stdc++.h>
using namespace std;
int day[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int getDay(int y,int m)
{
if(m==2)
{
if(y%4==0) day[2]=29;
else day[2]=28;
}
return day[m];
}
int main()
{
int sum=0;
int m=1,y=2000, w=6,d=1;
int i;
for(y=2000;y<=2020;y++)
{
for(m=1;m<=12;m++)
{
for(d=1;d<=getDay(y,m);d++)
{
if(y==2020 && m==10 && d==1)
{
cout<<sum+2<<" "<<w<<endl;
return 0;
}
if(w==1 || d==1) sum+=1;
w=(++w)%7;
sum+=1;
}
}
}
return 0;
}