闰年
题目描述
闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。
其根本的原因是:地球绕太阳运行周期为365天5小时48分46秒,而公历的平年只有365日,比回归年短约0.2422 日,所余下的时间约为每四年累计一天,使当年的长度为366日,这一年就为闰年。
现行公历中每400年有97个闰年。按照每四年一个闰年计算,平均每年就要多算出0.0078天,这样经过四百年就会多算出大约3天来。因此每四百年中要减少3个闰年。
所以公历规定:年份不是100的倍数时,当且仅当年份是4的倍数时是闰年;年份是100的倍数时,当且仅当年份是400的倍数时是闰年。
输入一个年份(正整数),判断该年份是否为闰年,如果是则输出“YES”,否则输出“NO”(字母全部大写,不带引号)。
输入格式
一行,一个整数 Y Y Y,代表年份。
输出格式
一行,若是闰年输出YES,不是闰年输出NO。
样例 #1
样例输入 #1
1582
样例输出 #1
NO
样例 #2
样例输入 #2
2000
样例输出 #2
YES
样例 #3
样例输入 #3
1900
样例输出 #3
NO
提示
对于100%的数据, 1 ≤ Y ≤ 3000 1 \le Y \le 3000 1≤Y≤3000
答案
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
cin >> x;
if ((x%100 != 0 and x%4 == 0)or(x%100 == 0 and x%400 == 0)) cout << "YES";
else cout << "NO";
return 0;
}