题目描述
输入 x,yx,y,输出 [x,y][x,y] 区间中闰年个数,并在下一行输出所有闰年年份数字,使用空格隔开。
输入格式
输入两个正整数 x,yx,y,以空格隔开。
输出格式
第一行输出一个正整数,表示 [x,y][x,y] 区间中闰年个数。
第二行输出若干个正整数,按照年份单调递增的顺序输出所有闰年年份数字。
输入输出样例
输入 #1复制
1989 2001
输出 #1复制
3 1992 1996 2000
说明/提示
数据保证,1582\le x < y \le 30001582≤x<y≤3000。
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int x, y;
cin >> x >> y;
int cnt = 0;
vector<int> v;
for(int i = x; i <= y; i++ )
{
if(((i % 100 != 0)&&(i % 4 == 0)) || (i % 400 == 0))
{
cnt++;
v.push_back(i);
}
}
cout << cnt <<endl;
for(int i = 0; i < cnt;i++)
{
cout << v[i] <<" ";
}
return 0;
}