1 条题解
-
0
【深基7.例3】闰年展示
解题思路
枚举区间内每一年,符合闰年规则的年份存入数组,先输出数量,再输出年份。
正确性说明
闰年恰好是能被 400 整除,或能被 4 整除但不能被 100 整除的年份。逐年判断恰好收集全部答案且顺序递增。
易错点
1900 不是闰年,2000 是闰年;区间包含两端。
复杂度
区间长度 k,时间 O(k),空间 O(k)。
参考代码(C++11)
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int x, y; cin >> x >> y; vector<int> a; for (int z = x; z <= y; z++) if (z % 400 == 0 || (z % 4 == 0 && z % 100 != 0)) a.push_back(z); cout << a.size() << "\n"; for (size_t i = 0; i < a.size(); i++) { if (i) cout << " "; cout << a[i]; } cout << "\n"; return 0; }
- 1