中文搜索引擎指南网

 找回密码
 禁止注册

QQ登录

只需一步,快速开始

搜索
查看: 11708|回复: 0
打印 上一主题 下一主题

2010复活节是哪一天?

[复制链接]
跳转到指定楼层
1#
发表于 2010-4-1 21:41:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
2010年4月4日

复活节是西方传统的节日,公元325年尼西亚宗教会议规定,每年过春分月圆后的第一个星期天为复活节。其日期是不固定的,通常是要查看日历才能知道。

现在有一个简便的算法供大家参考!

年份只限于1900年到2099年

NO.1 设要求的那一年是Y年,从Y减去1900,其差记为N。
NO.2 用19作除数去除N,余数记为A。
NO.3 用4作除数去除N,不管余数,把商记为Q。
NO.4 用19去除7A+1,把商记为B,不管余数。
NO.5 用29去除11A+4-B,余数记为M。
NO.6 用7去除N+Q+31-M,余数记为W。
NO.7 计算25-M-W。

得出答数即可定出复活节的日期。若为正数,月份为4月,如为负数,月份为3月。若为0,则为3月31日。
现在我们选两个年份来实例计算一遍。

例1. 1983年的复活节日期。
1. 1983-1900=83, N=83
2. 83/19=4余7, A=7
3. 83/4=20余3, Q=20
4. 7A+1=50,50/19=2余12, B=2
5. 11A+4-B=79,79/29=2余21, M=21
6. N+Q+31-M=113,113/7=16余1 W=1
7. 25-M-W=3
由此可知,1983年的复活节日期是4月3日。

例2. 2008年,中国将在北京举办奥运会,那一年复活节是哪一天呢?
1. 2008-1900=108, N=108
2. 108/19=5。。13, A=13
3. 108/4=27 Q=27
4. 7A+1=92,92/19=4。。 B=4
5. 11A+4-B=143,143/29=。。27, M=27
6. N+Q+31-M=139,139/7=。。6, W=6
7. 25-M-W=-8, 31-(-8)=39 所以该年复活节日期是4月8日。
按照复杂的天文历法分析与计算,最早的复活节日期是3月22日,上一次出现是在1818年,而且要到2285年才会再度出现。最晚的日期是在4月25日,上一次出现是在1943年,要到2038年才会出现。

用MATLAB计算2007年复活节日期,程序如下:
y = 2007;
n = y-1900;
a = mod(n,19);
q = floor(n/4);
b = floor((7*a+1)/19);
m = mod(11*a+4-b,29);
w = mod(n+q+31-m,7);
d = 25-m-w

得到d=8,即2007年4月8日,2006年4月16日,2007年4月8日,2008年3月30日,2009年4月12日,2010年4月4日。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

Archiver|手机版|小黑屋|教你搜 ( 鲁ICP备16006309号

GMT+8, 2025-2-27 10:24 , Processed in 0.172376 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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