蓝桥杯 跑步计划(模拟日期)
问题描述
小蓝计划在某天的日期中出现 11 时跑 55 千米,否则只跑 11 千米。注意日期中出现 11 不仅指年月日也指星期。
请问按照小蓝的计划,20232023 年小蓝总共会跑步锻炼多少千米?例如,55 月 11 日、11 月 1313 日、1111 月 55 日、44 月 33 日 (星期一) 小蓝会跑 55 千米,而 55 月 2323 日小蓝会跑 11 千米 (示例日期均为 20232023 年)
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
运行限制
语言 最大运行时间 最大运行内存 C++ 1s 256M C 1s 256M Java 2s 256M Python3 3s 256M PyPy3 3s 256M Go 3s 256M JavaScript 3s 256M
代码:
#include <iostream>
using namespace std;
int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
int sum=0;
int weekday=-1;//由题目中的信息可知1月1日是星期日
for(int i=1;i<=12;i++)
{
for(int j=1;j<=month[i];j++)
{
weekday++;//0第一次的值0就是代表星期日
if(i%10==1||i/10%10==1||j%10==1||j/10%10==1||weekday%7==1)
//这里我采用的是weekday%7算的星期几,也可以采用weekday=(weekday+1)%7进行对星期更新
sum+=5;
else
sum+=1;
}
}
cout<<sum<<endl;
return 0;
}