找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 1140|回复: 1

心算星期几 -- 王氏口诀

[复制链接]
发表于 2015-2-11 10:41:17 | 显示全部楼层 |阅读模式
本帖最后由 wang_966 于 2015-2-20 07:02 编辑

心算星期几 -- 王氏口诀         

**作者:本口诀及公式由 (笔名)王骏( Mike Wang )设计提供。
**网志:http://blog.sina.com.cn/tools241
**欢迎免费转载或做为教材,欢迎会华语有兴趣的人都来练习。


1.本公式适用于 "1900/03/01- 2100/02/28" ,
   此期间4年一润(2月有29天), 相隔28年的同一天其 "星期几" 也会相同,
   因此可以将年份往前或往后移动28年的倍数以方便计算,
   为方便计算,请选择合适的值代入。
   Y= 西元年份-2008+28的倍数,
   如果月份为 "1月或2月", 则Y还要再减去一年. 口诀中以 "(去年)" 提醒。

2.十二个月的 "M月对照值" 口诀( 请记起来随时可用 ):
       "(去年)1上(榜);(去年)2留(级);扇舞试衣舞扇;六六(大顺);去移巴士;
           久邻邀您儿,邀邀我,邀儿您(去听演唱会)"。


   M01月=3 ==> " 1,3" 记成 "(去年)1上(榜);" ;
   M02月=6 ==> " 2,6" 记成 "(去年)2留(级);" ;
   M03月=5 ==> " 3,5" 记成 "扇舞";
   M04月=1 ==> " 4,1" 记成 "试衣";
   M05月=3 ==> " 5,3" 记成 "舞扇";
   M06月=6 ==> " 6,6" 记成 "六六(大顺)";
   M07月=1 ==> " 7,1" 记成 "去移";
   M08月=4 ==> " 8,4" 记成 "巴士;";
   M09月=0 ==> " 9,0" 记成  "久邻(很久的邻居)";
   M10月=2 ==> "10,2" 记成 "邀您儿,";
   M11月=5 ==> "11,5" 记成 "邀邀我,";
   M12月=0 ==> "12,0" 记成 "邀儿您(去听演唱会)"。

3.星期几Week = (Y+ [Y/4]取整数 + M月对照值 + D日 )   除以 7 的余数
   例: 1900/09/08(光绪26年的9月8日) 中秋是星期六
         Y= 1900+(28 x 4 - 2008) = 1900 + 112 - 2008 = 2012 - 2008 = 4,
         w = ( 4 + [4/4] + (M在九月的对照值)0 + 8日 ) = 13
         week = 13 % 7 = 6 (星期六)
      
   例: 2010/01/01 是星期几?      
         Y = 2010+(28 x 0 - 2008) -1(如果月份为1月或2月则Y要再减一年)
            = 2010-2008              -1 = 1
         w = ( 1 + [1/4]) + 3 + 1 =  1 + 0 + (M在一月的对照值)3 + 1 = 5
         week = 5 % 7 = 5 (星期五)
   例: 2010/02/13 除夕是星期几?
         Y = 2010 - 2008 -1(如果月份为1月或2月则Y要再减一年) = 1
         w = ( 1 + [1/4]) + 6 + 13 =  1 + 0 + (M在二月的对照值)6 + 13 = 20
         week = 20 % 7 = 6 (星期六)
   例: 2010/09/22 中秋是星期几?
         Y = 2010 - 2008 = 2
         w = ( 2 + [2/4]) + 0 + 22 =  2 + 0 + (M在九月的对照值)0 + 22 = 24
         week = 24 % 7 = 3 (星期三)

   例: 2011/01/01 是星期几?
         Y = 2011+(28x0-2008) -1(如果月份为1月或2月则Y要再减一年)
            = 2011-2008           -1 = 2
         w = ( 2 + [2/4]) + 3 + 1 =  2 + 0 + 3 + 1 = 6
         week = 6 % 7 = 6 (星期六)
   例: 2011/02/02 除夕是星期几?
          Y = 2011-2008 -1(如果月份为1月或2月则Y要再减一年) = 2
         w = ( 2 + [2/4]) + 6 + 2 =  2 + 0 + 6 + 2 = 10
         week = 10 % 7 = 3 (星期三)
   例: 2011/09/12 中秋是星期几?
         Y = 2011-2008 = 3
         w = ( 3 + [3/4]) + 0 + 12 =  3 + 0 + 0 + 12 = 15
         week = 15 % 7 = 1 (星期一)

** 高斯符号:数学王子 "高斯(C. Gauss 1777-1855)" 提出 "[取整数]" 的符号,
                          例 [5.03] = 5 ;若为负数则小数以下直接进位, 例  [-5.03] = -6。

** 润年口诀:"四年一润,百年不润,四百年再润"。
     因为地球环绕太阳一周约为 "365.2422天",
     四年一润(例2004,2008,2012,2016);百年不润(例1800,1900,2100,2200,
     2300,2500);四百年再润(例1600,2000,2400)。 影响星期几的变动值 :
     365天 x 西元年份 + [西元/4]  -  [西元/100] +  [西元/400]。

**  因1900年不是润年, 所以公式若要使用于1800/03/01至1900/02/28时 , 星期
     几还要右调1天;若使用于2100/03/01至2200/02/28时,星期几还要左调1天。

** 有兴趣者或程式设计者请参考:在公元4年3月1日以前的润年是不规则的,
     后来为修正累积的误差,将早期儒略历(Julian calendar)1582年10月4日的隔
     天订为现行的公历历法格里历(Gregorian calendar)1582年10月15日;因
     为英国是晚在1752年9月才改用公历,而此时误差已达11天,因此由美国
     人设计的 Unix 系统中若执行 "cal  9  1752"   可查到1752年的9月份是做过修
     正的,中间缺少了 11 天。1752/9/2 是星期三,隔天就是1752/9/14 星期四。
     例: 1752/09/14  是星期几?
         Y = 1752 +(28 x 10 - 2008) = 24
         w = ( 24+ [24/4]) +(M在九月的对照值)0 + 14 =  24 + 6 + 0 + 14 = 44
         week = 44 % 7 = 2 => 因1800年及1900年不是润年,向右调2天为星期四。
..................................................................................................................
备注:作者乃数学系毕业, 您可以 "免费"转载上列的内容,
如果不是"g-o-v-e-r-n-m-e-n-t单位或教育单位或编制成教材",

         请包含:作者笔名,"欢迎免费转载"字样,部落格网址。

..................................................................................................................





以下仅供参考:

*    各国施行公历的日期:

        1582/10/15  (义大利,西班牙,葡萄牙...)
        1582/12/20  (法国)
        1700/03/01  (丹麦,挪威)
        1752/09/14  (英国,美国)
        1918/02/14  (俄国)
        1923/03/01  (希腊)
 楼主| 发表于 2015-2-13 08:05:02 | 显示全部楼层
本帖最后由 wang_966 于 2015-2-21 22:22 编辑

范例1:
2014/03/01 - 2015/02/28 :
year = 2014 - 2008 = 6
yy = year + [year/4]取整数 = 6 + 1
y = 0 = 7 除以 7 的 余数
所以 2014/03/01 - 2015/02/28 的年 y 只要带入 0 便可

范例2:
2015/03/01 - 2016/02/29 :
year = 2015 - 2008 = 7
yy = year + [year/4]取整数 = 7 + 1
y = 1 = 8除以 7 的 余数
所以 2015/03/01 - 2016/02/29 的年 y 只要带入 1 便可

范例3:
2016/03/01 - 2017/02/28 :
year = 2016 - 2008 = 8
yy = year + [year/4]取整数 = 8 + 2
y = 3 = 10 除以 7 的 余数
所以 2016/03/01 - 2017/02/28 的年 y 只要带入 3 便可
___________________________________________

* 请立设 "虚拟磁碟" 狂奔! Firefox 36 免安装 异境版 Flash Player+13元件
                                    (PE/Win, 自动侦测 简/繁/英 一版通用) ==>

   http://bbs.wuyou.net/forum.php?mod=viewthread&tid=362183

* 12682 台股1990年高点与 "(宇宙密码)费氏系数及黄金切割率的数学关系式" ==>
   http://bbs.wuyou.net/forum.php?mod=viewthread&tid=362540

* 如何利用 仿unix/linux命令 sed 一次替换文字中的 "某些相似性的字串" ==>
   http://bbs.wuyou.net/forum.php?mod=viewthread&tid=362520

* windows下安装 UnxUtils -- 仿 unix/linux 命令 (约120个) ==>
   http://bbs.wuyou.net/forum.php?mod=viewthread&tid=362519


* 观月有感 -- 现代诗 ==>
   
http://blog.sina.com.cn/tools241

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-8-15 08:38

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表