【深基7.例3】闰年展示
题目描述
输入 x , y x,y x,y,输出 [ x , y ] [x,y] [x,y] 区间中闰年个数,并在下一行输出所有闰年年份数字,使用空格隔开。
输入格式
输入两个正整数 x , y x,y x,y,以空格隔开。
输出格式
第一行输出一个正整数,表示 [ x , y ] [x,y] [x,y] 区间中闰年个数。
第二行输出若干个正整数,按照年份单调递增的顺序输出所有闰年年份数字。
样例 #1
样例输入 #1
1989 2001
样例输出 #1
3
1992 1996 2000
提示
数据保证, 1582 ≤ x < y ≤ 3000 1582\le x < y \le 3000 1582≤x<y≤3000。
代码
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
/**
* @author: ZZJ
* @date: 2023/03/06
* @desc:
*/
public class Main {
private static final BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
public static final PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
public static void main(String[] args) {
try {
int[] ints = Arrays.stream(in.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
ArrayList<Integer> integers = new ArrayList<>();
int res = 0;
for (int i = ints[0]; i <= ints[1]; i++) {
if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0)){
res++;
integers.add(i);
}
}
out.println(res);
integers.forEach(item -> out.print(item + " "));
}catch (Exception e){
}finally {
out.flush();
}
}
}