TB椰程 TypeBuddy 打字搭子

闰年展示

洛谷·深入浅出 · 代码 · cpp · 难度 2/5 · 共 579 字

统计区间闰年个数并列出所有闰年

  • 洛谷
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/1431
// 题意:输入 x,y,第一行输出 [x,y] 内闰年个数,第二行按升序输出所有闰年(空格隔开)。
// 思路:闰年 = (能被4整除且不能被100整除) 或 能被400整除;遍历区间收集。
// 复杂度:O(y-x)。
// 易错点:世纪年要被 400 整除才算闰年;输出先个数后列表。
#include <iostream>
#include <vector>
using namespace std;
bool leap(int y){
    return (y % 4 == 0 && y % 100 != 0) || (y % 400 == 0);
}
int main(){
    int x, y;
    cin >> x >> y;
    vector<int> ans;
    for(int i = x; i <= y; i++) if(leap(i)) ans.push_back(i);
    cout << ans.size() << endl;
    for(size_t i = 0; i < ans.size(); i++) cout << ans[i] << " ";
    cout << endl;
    return 0;
}

洛谷·深入浅出的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK