zoukankan      html  css  js  c++  java
  • 60秒轻松计算出任意一年任意一天星期几?

    60秒轻松计算出任意一年任意一天星期几?


    一、提出问题

         60秒就可以轻松计算出任意一年任意一天星期几吗?

         你相信吗?

         如果能算出,连脑神经专家都认为是神童。

         大家可以通过度娘搜索“张戈   自闭症”,连人民网都有报道。有图为证:


         如何快速计算出任意一年任意一天,星期几呢?如:2015年元旦,星期几。


    二、解决之道

    计算公式是:

    星期几 = (年份代码 + 月份代码 + 日期)mod 7


    mod 7 的含义就是说,对该数除以7的余数是多少??


    三、21世纪年份代码的计算公式

    a.应用举例

    包括:2000--2099,包含2000年以及2099年

    b.应用举例

    用于计算21世纪每个年份的年份代码的计算公式是:

    年份 = 2000 + X

    年份代码 = ( X / 4 + X)mod 7。

    解释一下:

    1.X除以4的商,只要商,不要余数,也就是我们常说的取结果的整数部分;

    2.然后再与X相加;

    3.最后讲该结果除以7,所得余数,即为年份代码;

    c.应用举例

    2015 = 2000 + 15

    所以2015的X,对应的当然就是15啦!

    15除以4的商,当然就是3啰!

    3加上15,等于18,

    18除以7,得到的余数,就是4。

    数学规范表达就是:

    2015年份代码 = ( 15 / 4 + 15) mod 7 = (3 + 15) mod 7 = 4。

    所以2015年的年份代码就是4。

    d.考一考、练一练

    您知道2000的年份代码吗?

    温馨提示:

    看公式:

    年份代码 = ( X / 4 + X)mod 7。

    想都不用想,2000年的年份代码当然是0啦!


    四、其他世纪年份代码的计算公式

    18世纪的年份代码,是在21世纪的年份代码的基础上加上5或者减去2;

    (18世纪包括1700--1799,包含1700年以及1799年


    19世纪的年份代码,是在21世纪的年份代码的基础上加上3;

    (19世纪包括1800--1899,包含1800年以及1899年


    20世纪的年份代码,是在21世纪的年份代码的基础上加上1;

    (18世纪包括1700--1799,包含1700年以及1799年


    22世纪的年份代码,是在21世纪的年份代码的基础上加上5或者减去2。

    (22世纪包括2100--2199,包含2100年以及2199年

    目前的公历历法,就是格列高利历法,英国从1752年才开始采用这个历法。

    18世纪是该历法的起点世纪。

    格列高利历法,是400年1个轮回。

    所以18世纪的年份代码与22世纪的年份代码,完全一样。

    18世纪与22世纪正好相差400年。


    也就是说:

    2415年的每一天的星期几与2015年每一天的星期几是一样的,是一模一样的。

    2415年4月8日,与2015年4月8月,都是星期二。


    五、月份代码详细说明

    具体如下:

    序号

    月份

    月份代码

    1

    五月

    0

    2

    八月

    1

    3

    二月、三月、十一月

    2

    4

    六月

    3

    5

    九月、十二月

    4

    6

    四月、七月

    5

    7

    一月、十月

    6


    备注:

    如果该年是闰年,那么:

    1月份的数字代码为5,

    2月份的数字代码为1。


    PS,偶再啰嗦几句:

    余数是几,就代表星期几,

    如余数是1,就表示是星期一;

    余数是2,就表示是星期二。

    需要说明的,如果余数是0,则表示是:星期天/星期日。

    请家长朋友一定要注意下:余数0,代表是:星期天/星期日。


    六、何谓闰年????

    1.口诀:

    四年一闰,百年不闰,四百年再闰。

    2.计算方法:

    1.能被4整除的年份,但不能被100整除,那么他是闰年;

    例如:

    2012年,能被4整除,也不能被100整除,所以2012是闰年。

    2100年,能被4整除,但也能被100整除,所以2100不是闰年。


    2.能被400整除的年份,那么他也是闰年。

    2000年,就是能被400整除,所以,2000年是闰年。


    七、案例解析

    1.案例一:  

    2015年元旦,星期几呢?

    根据计算公式:

    星期几 = (年份代码 + 月份代码 + 日期)mod 7

    2015年的年份代码是4

    1月份的月份代码是6

    所以,

    ( 4+ 6+ 1) mod 7 = 11 mod 7 = 4。

    再说一遍,11 mod 7 就是对该数字除以7,所得的余数。

    答案就是:2015年元旦,星期四。


    2.案例二:

    2016年元旦,星期几呢?

    根据计算公式:

    星期几 = (年份代码 + 月份代码 + 日期)mod 7

    2016年的年份代码是(16 / 4 + 16)/ mod 7 = 6

    2016年的年份代码是6。

    注意2016年是闰年,所以1月份的月份代码应该是5

    所以,

    ( 6 + 5 + 1) mod 7 = 12 mod 7 = 5。

    再说一遍,12 mod 7 就是对该数字除以7,所得的余数。

    答案就是:2016年元旦,星期五。


  • 相关阅读:
    Ansible
    Ansible
    MySQL
    JS计算时间差(天,时,分钟,秒)
    cookie,localStorage,sessionStorage的区别
    css布局 -双飞翼布局&圣杯布局
    Python批量爬取网站图片
    vue-cli3中引入图片的几种方式和注意事项
    git常用命令
    vue-cli3的打包并在本地查看
  • 原文地址:https://www.cnblogs.com/aiwz/p/6153965.html
Copyright © 2011-2022 走看看