问题1304--判断公历闰年Ⅱ

1304: 判断公历闰年Ⅱ

时间限制: 1 Sec  内存限制: 128 MB
提交: 126  解决: 97
[提交] [状态] [讨论版] [命题人:]

题目描述

输入某一年份x,判断该年份是否是闰年。是则输出“YES”,否则输出“NO”。

输入

一行一个正整数 x,int 范围以内。

输出

一行一个单词,表示判断结果。

样例输入 Copy

2000

样例输出 Copy

YES

提示

公历闰年计算(按一回归年365天5小时48分45.5秒)
①、普通年能整除4且不能整除100的为闰年。(如2004年就是闰年,1901年不是闰年)
②、世纪年能整除400的是闰年。(如2000年是闰年,1900年不是闰年)
③、对于数值很大的年份,这年如果能被3200整除,并且能被172800整除则是闰年。如172800年是闰年,86400年不是闰年(因为虽然能被3200整除,但不能被172800整除)(此按一回归年365天5h48'45.5''计算)。
此外,如依照现有太阳年的长度与上述闰年规则,每8000年又约差一日,因此约翰·赫歇尔提议每逢4000的倍数不闰,如西元4000年。但距此一年份来临尚有约二千年之遥,因此还未曾真正纳入规则或实施过。又由于地球公转速率的不稳定与众多影响因素,届时是否需要纳入此规则仍有疑问。
原因:
若一年按365天5h48'46''(此时86400年也是闰年)计算,一年日数必须是整数,不便将零时数计入,所以取365天为一年,则余5时48分46秒 ,积至4年约满一 日,所以4年一“闰日”,谓之“闰年”,无“闰日”之年为平年,即平年365天,闰年366天。但到4年之时,仅有23时15分4秒闰一日,欠缺44分56秒;积至100年(25闰)时就欠缺18时43分20秒,约合3 / 4日,所以满100年不闰;此时又余5时16分40秒,积至400年余21时6分40秒又闰;又欠缺2时53分20秒,积至3200年计欠缺23时6分40秒,所以满3200年不闰;此时又余53分20秒,积至86400年刚好24 时又一闰,这是不余不欠,需重计算,所以按阳历计算就有上面的闰年规则。
按一回归年365天5h48'45.5''计算:3200年多出16000小时153600分145600秒 =18600小时26分40秒,共32*24+8=136个闰年=776*24=18624小时 >18600小时,所以只能算到775个闰年,3200不是闰年,于是775*24=18600,多出了26分40秒怎么办需要多少个周期弥补?答案是54个周期,为172800年,因为172800/3200=54个周期 54*26分40秒=1404分2160秒=24小时。

来源/分类