如何10秒钟快速
计算出2014年某一天星期几
一、提出问题
公元2014年即将来到,如何快速计算2014年某一天,星期几呢?如:2014年元旦,星期几。
二、解决之道
计算公式,或者说算法就是:
星期几 = (年份代码 + 月份代码 + 日期)mod 7
mod 7 就是说对7求余数。
三、代码说明
1. 年份代码
3
2. 月份代码
月份 | 月份代码 |
一月 | 6 |
二月 | 2 |
三月 | 2 |
四月 | 5 |
五月 | 0 |
六月 | 3 |
七月 | 5 |
八月 | 1 |
九月 | 4 |
十月 | 6 |
十一月 | 2 |
十二月 | 4 |
四、补充说明
余数是几,就代表星期几,如余数是1,就表示是星期一;余数是2,就表示是星期二。
需要说明的,仅仅是余数0,表示的是星期日,或者说星期天。
对学习计算机的同学而言,是很好理解的。因为计算机计数,都是从0开始计算的,至少C/C++语言。
五、案例解析
2014年元旦日星期几呢?
根据计算公式:
星期几 = (年份代码 + 月份代码 + 日期)mod 7
2014年的年份代码是3;
1月份的数字代码是6;
所以,
( 3+ 6+ 1) mod 7 = 10 mod 7 = 3。
再说一遍,10 mod 7 就是对该数字求7的余数。也可以说 10 除以 7的余数一种符号表示。
答案就是:2014年元旦是星期三。
六、总结
该方法的难点,就是牢牢记忆月份代码的数字编码。
笔者做了如下总结:
1. 份代码归纳总结
a.按月份顺序总结
序号 | 月份 | 月份代码 |
1 | 一月、十月 | 6 |
2 | 二月、三月、十一月 | 2 |
3 | 四月、七月 | 5 |
4 | 五月 | 0 |
5 | 六月 | 3 |
6 | 八月 | 1 |
7 | 九月、十二月 | 4 |
b.按月份代码顺序总结
序号 | 月份 | 月份代码 |
1 | 五月 | 0 |
2 | 八月 | 1 |
3 | 二月、三月、十一月 | 2 |
4 | 六月 | 3 |
5 | 九月、十二月 | 4 |
6 | 四月、七月 | 5 |
7 | 一月、十月 | 6 |
c.按月份代码顺序总结
序号 | 月份 | 月份代码 | 形象记忆 |
1 | 五月 | 0 | 50,就是奥运五环,奥运会 |
2 | 八月 | 1 | 81,就是八一南昌起义 |
3 | 二月、三月、十一月 | 2 | 22鸳鸯 32 沙儿 112 幺幺的儿子 |
4 | 六月 | 3 | 63,就是庐山 |
5 | 九月、十二月 | 4 | 94,教师 124,耳屎 |
6 | 四月、七月 | 5 | 45,师傅 75,骑虎难下,骑着老虎 |
7 | 一月、十月 | 6 | 杨柳,石榴 |
2. 年份代码是如何来的
a.计算公式
适用于计算21世纪每个年份的年份代码的计算公式是:
年份 = 2000 + X
年份代码 = ( X / 4 + X)mod 7。
b.应用举例
2014 = 2000 + 14
所以2014的X就是14啦!
2014年份代码 = ( 14 / 4 + 14) mod 7 = (3 + 14) mod 7 = 3。
所以2014年的年份代码就是3。
七、您能10秒钟计算星期几了吗?
您会了吗?您能10秒钟计算出2014年的国庆节星期几吗?
更多阅读,请参考: