万年历编写(从公元元年算起 考虑儒略历与格里历的变换)

万年历任务: 任意输入年份,输出1月至12月的日历

格式要求:

 万年历背景:没有了解年历之前会觉得不就是计算闰年,然后计算那一年第一天是星期几的问题,可是这样设计出来总是和现在的日历对不上!!于是又看了一些经验,发现问题出现在1582年,大家有兴趣可以看看手机上的年历,1852年10月4日-15日期间十天是凭空消失的。这是由于公元前45年至公元1582年10月期间,罗马使用的是儒略历,计算的方式是将一年看作12个月,每四年闰一次。但是随着时间的累积误差越来越大,于是在1582年10月4日后,开始使用格里历,也就是我们熟悉的四闰,百不闰,四百再闰了。

万年历编程思路:年历中月份是会改变的,而星期则是1~7循环,所以首先要计算出输入年份1月1日是星期几。方法是计算这一年年距离公元1年有多少天sum,然后week=(sum+5)%7(1月1日周六,这个也是有很多争议啊,复试之后再研究吧)计算出是星期几。Tips:在1582年时,记得把10月4日-15日日子跳过哦,要不然就白费了罗马教皇格里的良苦用心啦。 但是这样的结果并不对,于是还是使用了计算星期的公式啊······要注意的是这个公式只适用于1582年之后,之前还是使用

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值