最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

如何快速计算2000年到2099年任意一天是星期几

数学 少儿编程 3962浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

如何快速计算2000年到2099年任意一天是星期几

计算星期几由于涉及到闰年的问题,有一定的复杂性,虽然有现成的公式,但一般是适合计算机运算。一般都是背诵一个表,通过查找来定位星期几,为了排除世纪闰年的因素,只考虑2000-2099年的运算,实际应用中这个比较常见。

首先给出平年闰年表

平年表622503514624

闰年表512503514624

  1. 对于给定的20XX年,只考虑后两位XX,比如计算2033年4月23号星期几,则列式子为33 4 23
  2. 先对年进行计算,年除以4得到的商不包含余数,该结果再加上年的和除以7得到一个余数,即33/4=8,8+33=41,41除以7得余数6
  3. 如果上一步有余数说明是平年,否则是闰年(在2000-2099年时这样判断是OK的),对于给定的月份4,在表中查找4个数字,由于2033年是平年,故从平年表中找到第4个数字5,将得到的数字与上一步数字相加除以7得到余数4
  4. 将日子23除以7得到余数为2,加上一步的4,得到最终结果为6,所以2033年4月23号星期6

上面的平年表和闰年表其实只有前两个数字不一样,为了判断方便所以记下来较好,当然也可以只记平年表,闰年表在计算1月或2月时自己减1也可。

其实该方法的主要步骤就是先对年计算得到一个数字,月份是查表得到的数字,日子是直接加,所有步骤的和分别对7求余数或者所有步骤相加的和再对7求余数都可。

上面步骤可以推理到其它世纪的运算,对算法自己扩展下即可。

您必须 登录 才能发表评论!