您当前的位置:首页 > 计算机 > 编程开发 > VC/VC++

为什么1900年不是闰年

时间:04-09来源:作者:点击数:

缘起

看到一段 C++ 的程序,为了介绍逻辑运算符,让判断一个年份是不是闰年。

请添加图片描述

简而言之,如果某年的末尾不是 00,那么能整除 4 就是闰年;如果末尾是 00,那么能整除 400 才是闰年。

我就纳闷了,不是 4 年一闰吗?既然 1896 年是闰年,再过 4 年就是 1900 年,1900 怎么就不是闰年了?其实这个困惑在我上小学时候就有了。

原理

一年的时间(地球绕太阳公转周期),精确到秒(天文观测)是:

365天5小时48分45.5秒 = 365.24219328703703703(703的循环…)天

如果 4 年一闰,平均每年就是:365+1/4=365.25 天

再每 100 年不闰,平均每年就是:365+1/4-1/100 =365.24 天

再每400年一闰:365+1/4-1/100+1/400 =365.2425 天

再每3200年不闰:365+1/4-1/100+1/400-1/3200 =365.2421875 天

再每 172800年闰:365+1/4-1/100+1/400-1/3200+1/172800 =365.24219328703703703(703的循环…)天

终于逼近观测结果了,因而就有了闰年的种种规定,所以 1900 年很不幸被排除掉闰年的身份。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门