题目描述
闰年分为普通闰年和世纪闰年。
普通闰年:公历年份是 4 的倍数的,且不是 100 的倍数,为闰年。(如 2004 年就是闰年);
世纪闰年:公历年份是整百数的,必须是 400 的倍数才是闰年(如 1900 年不是世纪闰年, 2000 年是世纪闰年)。
给出两个整数 a 和 b ,试输出 [a,b] 之间的闰年。
输入格式
一行,两个整数 a 和 b ,表示年份的左右区间。
输出格式
一行,若干个整数,表示区间中的闰年,数字之间用空格隔开。
样例数据
输入样例 #1 | 输出样例 #1 |
---|---|
2000 2012 | 2000 2004 2008 2012 |
样例分析
如上所述。
数据范围
100% 的数据: 1≤a≤b≤3000
解题:
#include<bits/stdc++.h>
using namespace std;
int a,b;
bool leap(int n){
if(n%100==0&&n%400==0)return true;
else if(n%4==0&&n%100!=0)return true;
else return false;
}
int main(){
cin>>a>>b;
for(int i=0;i<=b-a;i++)if(leap(a+i))cout<<a+i<<" ";
return 0;
}