0
点赞
收藏
分享

微信扫一扫

试题历届真题跑步锻炼【第十一届】【省赛】【B组】(C++)

纽二 2022-02-23 阅读 75
c++蓝桥杯

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝每天都锻炼身体。

正常情况下,小蓝每天跑 11 千米。如果某天是周一或者月初(11 日),为了激励自己,小蓝要跑 22 千米。如果同时是周一或月初,小蓝也是跑 22 千米。

小蓝跑步已经坚持了很长时间,从 20002000 年 11 月 11 日周六(含)到 20202020 年 1010 月 11 日周四(含)。请问这段时间小蓝总共跑步多少千米?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

代码如下:

#include <bits/stdc++.h>
using namespace std;

int a[13] = {0, 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

int main() {
	int year = 2000, month = 1, day = 1, len = 2, week = 6; //len为长度,2020/1/1号先加上2
	for (; year != 2020 || month != 10 || day != 1; len++) {
		if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) //闰年
			a[2] = 29;
		else
			a[2] = 28;
		day++;
		week = (week + 1) % 7; //设置一个七进制,week=0时,为星期天
		if (day > a[month]) {
			day = 1;
			month++;
		}
		if (month > 12) {
			month = 1;
			year++;
		}
		if (day == 1 || week == 1)
			len++;
	}
	cout << len;
}
举报

相关推荐

0 条评论