万年历任务: 任意输入年份,输出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年之后,之前还是使用