蓝桥题库每日一练 · 2026.08.07

8月7日 2020 年是闰年。输入一个未来的年份 n(20…

C++编程题参考难度 ★★☆☆☆蓝桥杯第十一届 选拔赛 · 已用
2020 年是闰年。输入一个未来的年份 n(2020<n<9999),计算 2020 到 n 年之间(包括 2020 和 n)一共有多少个闰年。闰年规则:能被 4 整除但不能被 100 整除;或者能被 400 整除。
样例
输入 2024输出 2
评分标准
  • 30 分:完成给出的第一个测试用例
  • 50 分:再完成一个测试用例
  • 100 分:完成全部测试用例
参考解法
先讲讲闰年是怎么来的:地球绕太阳一圈其实不是整 365 天,而是多出差不多 6 个小时。攒 4 年就攒出约一天,所以每 4 年加一天(2 月 29 日),这年就叫闰年。但攒的其实不足 6 小时,照「4 年一闰」又会多算——所以又补了两条:整百年(如 1900)不闰,除非它能被 400 整除(如 2000 闰)。这就是题目里那两句规则的来历。

写成判断就是:(y%4==0 && y%100!=0) || y%400==0。(% 是「取余数」,y%4==0 就是「y 除以 4 没有余数」。)

然后用一个循环,从 2020 数到 n,是闰年就记一笔:

#include <bits/stdc++.h>……

看此题详解,练更多题目,进入蓝桥题库每日一练 →

此答案或解析由 AI 生成,请谨慎使用。
难度依赛考组别及等考级别粗略评估,仅供参考。