【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《复活节日期的算法介绍》,欢迎阅读!
复活节日期的算法介绍
对复活节日期的算法你了解多少呢,看看下文吧,相信你会有所收获的! 复活节是西方传统的节日,公元325年尼西亚宗教会议规定,每年过春分月圆后的第一个星期天为复活节。其日期是不固定的,通常是要查看日历才能知道。
现在有一个简便的算法供大家参考! 年份只限于19xx年到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. n/19=4余7, a=7 3. n/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日。
1
例2. xx年,中国将在北京举办奥运会,那一年复活节是哪一天呢? 1. xx-1900=108, n=108 2. n/19=5余13, a=13 3. n/4=27, q=27
4. 7a+1=92,92/19=4余16, b=4 5. 11a+4-b=143,143/29=4余27, m=27 6. n+q+31-m=139,139/7=19余6, w=6 7. 25-m-w=-8, 31-8=23
所以该年复活节日期是3月23日。
按照复杂的天文历法分析与计算,最早的复活节日期是3月22日,上一次出现是在1818年,而且要到2285年才会再度出现。最晚的日期是在4月25日,上一次出现是在1943年,要到2038年才会出现。
用matlab计算xx年复活节日期,程序如下: y = xx; 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,即xx年4月8日。xx年4月16日,xx年3月23日,xx年4月12日,xx年4月4日,xx年4月24日。
由于时间关系,已经计了一百年内的复活节,这是西欧的计法,东欧及俄罗斯不适用。祝大家在以后的复活节快乐!
2
23/3/xx 17/4/2033 14/4/2058 4/4/2083 12/4/xx 9/4/2034 30/3/2059 26/3/2084 4/4/xx 25/3/2035 18/4/2060 15/4/2085 24/4/xx 13/4/2036 10/4/2061 31/3/2086 8/4/xx 5/4/2037 26/3/2062 20/4/2087 31/3/xx 25/4/2038 15/4/2063 11/4/2088 20/4/xx 10/4/2039 6/4/2064 3/4/2089 5/4/XX年 1/4/2040 29/3/2065 16/4/2090 27/3/XX年 21/4/2041 11/4/2066 8/4/2091 16/4/XX年 6/4/2042 3/4/2067 30/3/2092 1/4/XX年 29/3/2043 22/4/2068 12/4/2093 21/4/XX年 17/4/2044 14/4/2069 4/4/2094 12/4/2XXX 9/4/2045 30/3/2070 24/4/2095 4/4/2XXX 25/3/2046 19/4/2071 15/4/2096 17/4/2XXX 14/4/2047 10/4/2072 31/3/2097 9/4/2023 5/4/2048 26/3/2073 20/4/2098 31/3/2024 18/4/2049 15/4/2074 12/4/2099 20/4/2025 10/4/2050 7/4/2075 28/3/2100 5/4/2026 2/4/2051 19/4/2076 17/4/2101 28/3/2027 21/4/2052 11/4/2077 9/4/2102 16/4/2028 6/4/2053 3/4/2078 25/3/2103 1/4/2029 29/3/2054 23/4/2079 13/4/2104 21/4/2030 18/4/2055 7/4/2080 5/4/2105
3
本文来源:https://www.wddqxz.cn/5a004ed1a7e9856a561252d380eb6294dc882264.html