题目描述
小蓝每天都锻炼身体。正常情况下,小蓝每天跑1千米。如果某天是周一或者月初(1日),为了激励自
己,小蓝要跑2千米。如果同时是周一或月初,小蓝也是跑2千米。小蓝跑步已经坚持了很长时间,从
2000年1月1日周六(含)到2020年10月1日周四(含)。请问这段时间小蓝总共跑步多少千米?
细节细节!!!!!!!!
#include <stdio.h>
#include <string.h>
#include<algorithm>
#include<math.h>
using namespace std;
const int N=1e6+10;
int a[110][110];
int year(int x)
{
if((x%4==0&&x%100!=0)||x%400==0) //不要写错
return 1;
else
return 0;
}
int main()
{
int ans=0;
int h=5; //从周五开始 因为从周六开始
for(int i=2000;i<=2020;i++)
{
int y=0;
int d=0;
if(i==2020)
{
// printf("***1\n");
y=9; //第十月在最外层加上
}
else
y=12;
for(int j=1;j<=y;j++)
{
if(j==2) //
{
if(year(i))
d=29;
else
d=28;
}
else if(j==1||j==3||j==5||j==7||j==8||j==10||j==12) //
d=31;
else //
d=30;
for(int k=1;k<=d;k++)
{
h++;
if(h>7) //相当于 周几 大于7即该周为周一
h=1;
if(k==1||h==1) //周一
{
ans+=2;
}
else
ans++;
}
}
}
ans+=2; //加上10月1号
printf("%d\n",ans);
return 0;
}