60秒就可以轻松计算出任意一年任意一天星期几吗?
你相信吗?
如果能算出,连脑神经专家都认为是神童。
大家可以通过度娘搜索“张戈 自闭症”,连人民网都有报道。有图为证:
如何快速计算出任意一年任意一天,星期几呢?如:2015年元旦,星期几。
计算公式是:
星期几 = (年份代码 + 月份代码 + 日期)mod 7
mod 7 的含义就是说,对该数除以7的余数是多少??
用于计算21世纪每个年份的年份代码的计算公式是:
年份 = 2000 + X
年份代码 = ( X / 4 + X)mod 7。
解释一下:
1.X除以4的商,只要商,不要余数,也就是我们常说的取结果的整数部分;
2.然后再与X相加;
3.最后讲该结果除以7,所得余数,即为年份代码;
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。
温馨提示:
看公式:
年份代码 = ( X / 4 + X)mod 7。
想都不用想,2000年的年份代码,当然是0啦!
(18世纪包括1700--1799,包含1700年以及1799年)
19世纪的年份代码,是在21世纪的年份代码的基础上加上3;
(19世纪包括1800--1899,包含1800年以及1899年)
(18世纪包括1700--1799,包含1700年以及1799年)
目前的公历历法,就是格列高利历法,英国从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。
余数是几,就代表星期几,
如余数是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年元旦,星期五。
原文地址:http://blog.csdn.net/littletigerat/article/details/44919651