原创 揭露“心算星期”骗人的把戏

2008-9-9 00:33 3093 3 4 分类: MCU/ 嵌入式
汽车电子 发表于 2008-9-8 22:52 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

6楼: 实际上用查表法很简单


   1年只需12个字节,100年只需1200字节,如果用压缩BCD只需600字节,再找规律压缩一下,更省空间。那些复杂的算法可能不止600字节哦。
   月历表中1号前有几个空格(即偏差值,星期天不算),日期除以7的余数,加上空格数,就是星期数,太简单了。

    例:2008年9月8日  本月月历表中1日前面空格为0(星期天不算),8%7=1,1+0=1,即是星期一;      
   2032年9月8日  本月月历表中1日前面空格为2(星期天不算),8%7=1,1+2=3,即是星期三;
    
   公式:   日期%7 + 偏差  (偏差来自表格)

   再变一下,取余数除法都不需要,大于等于7就减去7......

   偶读初中的时候就用这个方法“在同学面前耍聪明”
   

hotpower 发表于 2008-9-9 00:30 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

7楼: “在同学面前耍聪明”~~~实际在骗人~~~


某日星期几=(百年%4*5+年+年/4+月星期表+日)%7

通用星期偏差表(此表是菜农公式中的(13*M+8)/5)
闰年  1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 13月 14月 3月 4月 5月  
天数   31  29  31  30  31  30  31  31  30  31   30   31   32   29  32  30   31
星期   5   1   2   5   0   3   5   1   4   6    2    4     0    3   5   1    3

平年  1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 13月 14月 3月 4月 5月  
天数   31  28  31  30  31  30  31  31  30  31   30   31   32   28  32  30   31
星期   6   2   2   5   0   3   5   1   4   6    2    4     0    3   5   1    3

例如2008年的“骗术”

根据星期表查表公式:

某日星期几=(百年%4*5+年+年/4+月星期表+日)%7
          =(20%4*5+08+08/4+月星期表+日)%7
          =(0+10+月星期表+日)%7
          =(3+月星期表+日)%7
查2008.9.8

因为9月表=4,故(3+月星期表+日)%7=(3+4+日)%7=(0+日)%7
即9月的日就是“星期”

所以你就会“聪明”地立即“说出”2008.9.8是星期一(8=7+1=0+1=1)

2008.1.8如何查表???

这里有2种查法。
注意顶部的通用星期偏差表的1月2月和13月14月,
1月2月需要知道今年是否闰年,13月14月不需要,但要将年-1。

1.不需知道闰年的查法
  因为是1月,需要变换为13月或5月,且年变换为2007年。
  即需要查2007年的13月的8日是星期几。
某日星期几=(百年%4*5+年+年/4+月星期表+日)%7
          =(20%4*5+07+07/4+月星期表+日)%7
          =(0+8+月星期表+日)%7
          =(1+月星期表+日)%7
          =(1+13月星期表+日)%7
          =(1+0+日)%7
故2008.1.8是(1+8)%7=(2+7)%7=2


2.需知道闰年的查法
因为2008是闰年,故需要查闰年表
某日星期几=(百年%4*5+年+年/4+月星期表+日)%7
          =(20%4*5+08+08/4+月星期表+日)%7
          =(0+10+月星期表+日)%7
          =(3+1月星期闰年表+日)%7
          =(3+5+日)%7
          =(1+日)%7
故2008.1.8是(1+8)%7=(2+7)%7=2
  
哈哈~~~这种“心算”骗人的把戏就是当知道年月时,日+偏差就是星期~~~
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

jizzll_617398179 2008-9-11 00:45

不错
相关推荐阅读
雁塔菜农 2012-04-05 17:51
2012年度新唐Cortex-M0助学开发套件有约束条件赠送申报贴
2012年度新唐Cortex-M0助学套件从4月起每月有约束条件发放16套。 申报人必须是21ic或 EDNC 会员 并具备1月的会龄。 申报时必须注明“遵守约束条件,缴纳250元订金,上...
雁塔菜农 2012-04-05 17:04
2012年度Cortex-M0助学园地推广框图
...
雁塔菜农 2012-04-01 17:59
2012年度Cortex-M0助学园地奖励计划细则
抢楼请点击:菜地公告:即日起创建《菜农Cortex-M0助学园地》(盖楼入口) 每月10号和25号的下午2:50进行2次抢楼,规则同去年12月的疯狂抢楼活动。 奖品由21IC、北航、广州迪圣...
雁塔菜农 2012-02-03 08:19
菜农谋略:搞定牛人宋俊德,对女牛人孙昌旭说:“记住,俺是雁塔菜农~~~ ”
http://www.baidu.com/s?wd=%B2%CB%C5%A9%D0%A6%CC%B8%A1%B6%D0%C2%C0%CB%C3%FB%C8%CB%D0%A7%D3%A6%A1%B7...
EE直播间
更多
我要评论
1
3
关闭 站长推荐上一条 /3 下一条