公元历法探究之------闰年
来源:互联网 发布:特蕾莎修女 知乎 编辑:程序博客网 时间:2024/04/29 00:33
地球公转的精确时间:365天5小时48分46秒=365.2422天
1年365.2422天,用365张日历标识,少了0.2422张日历
4年就得补一张日历(2月29日):0.2422*4=0.9688约补上一天,但还是补多了:1-0.9688=0.0312
如果按照这种补日历的方法,100年后会补多25*0.0312=0.78天,所以100年要去掉一张日历,这样100年又少了1-0.78=0.22天
400年后少了0.22*4=0.88天,所以400年又得重新补上一张日历,多补1-0.88=0.12天。
10个400年后,即4000年,多补0.12*10=1.2天,那么4000年的时候应该少一张日历,即应该为平年!这样还是多补了0.2天
因为现在时间为2012年,距离4000年还很遥远!!!
故,目前可总结出的闰年算法为:四年闰,百年不闰,四百年再闰,四千年不闰,两万年不闰。
总之,闰多了,就不闰,不闰多了,就得闰。
*************************************************************************
附上更加细致化的计算:
1年=365.2421990741天
4年:0.2421990741*4=0.9687962964,补上一张日历,多补1-0.9687962964=0.0312037036
100年:0.0312037036*25=0.78009259,去掉一张日历,多去1-0.78009259=0.21990741
400年:0.21990741*4=0.87962964,补上一张日历,多补1-0.87962964=0.12037036
4000年:0.12037036*10=1.2037036,去掉一张日历,还是多补0.2037036
20 000年:0.2037036*5=1.018518,去掉一张日历,还是多补0.018518
- 公元历法探究之------闰年
- 判断任意公元年区间的闰年
- 历法
- 用C语言编写程序,求公元1000年到公元2000年之间的闰年
- 公元二零一二之个人规划
- 公元二零一二之个人总结
- 公元二零一三之个人读书计划
- 计算闰年,自定义范围公元前100年到公元100年之间
- Python之闰年算法
- 闰年之循环判断
- 闰年之循环判断
- 【C语言】输出从公元1000年至2000年所有闰年的年号,每输出3个年号换一行!
- 中国历法
- C语言之判断闰年
- 蓝桥杯练习题之闰年判断
- 闰年
- 闰年
- 闰年
- Project Euler – Problem 20
- ASP.NET中的Bind和Eval的区别详解
- Project Euler – Problem 21
- 交叉编译mysql客户端libmysql
- Ubuntu_eclipse配置安装
- 公元历法探究之------闰年
- Project Euler – Problem 22
- CAS压力及疲劳测试
- Project Euler – Problem 23
- css 特效
- C# 设置本机IP、网关和DNS
- find/find_if详解
- Java编程那些事儿——如何学好程序设计?
- Java 类的生命周期详解