如何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年的国庆节星期几吗?
更多阅读,请参考: 《60秒轻松计算出任意一年任意一天星期几?》
|