秀站 > 生活 > 正文

​闰年算法,闰年与不年怎么算法?

2023-09-07 12:33 来源:秀网 点击:

闰年算法,闰年与不年怎么算法?

闰年与不年怎么算法

闰年与平年的计算方法是拿年份除以4,能整除的是闰年,不能整除的是平年。

闰年与不年怎么算法

农历闰年算法速算口诀

地球要经过365天5小时48分46秒才能经历完整的一年.

从公元0年到公元2020年共490个闰年.其中能被4整除的有505年,能被100整除的有21年.

通过”闰年”与”被4整除不是闰年”和”被100整除不是闰年”的情况比较:

被四整除不是闰年:

print(sorted(list(set(x2)-(set(x1)&set(x2)))))

#100, 200, 300, 500, 600, 700, 900, 1000, 1100, 1300, 1400, 1500, 1700, 1800, 1900

被100整除不是闰年:

print(sorted(list(set(x4)-(set(x4)&set(x1)))))

#100, 200, 300, 500, 600, 700, 900, 1000, 1100, 1300, 1400, 1500, 1700, 1800, 1900

可以归纳出速算口诀:

若非百年一遇,(如100, 200…1800, 1900年,平年)

被四整除是闰年。

若非四百年一遇,(如0,400,800,1200,1600,2000年,闰年)

只需记住前一句。(即只记住前面第一句就够了)

唯一例外能被3200整除的也不是闰年,然而现在才公元2020年。

更多代码如下

x1=[]

base_year=0

count_year=2020

for x in range(base_year,count_year+base_year):

if x%400==0 or (x%4==0 and x%100 !=0):

x1.append(x)

len(x1) #490

x2=[]

for x in range(base_year,count_year+base_year):

if x%4==0:

x2.append(x)

len(x2)#505

x4=[]

for x in range(base_year,count_year+base_year):

if x%100 ==0:

x4.append(x)

len(x4)#21

农历闰年算法速算口诀

不可以描述闰年问题的算法有哪些

1、非整百年:能被4整除的为闰年。(如2004年就是闰年,2001年不是闰年)

2、整百年:能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)

3、对于数值很大的年份:这年如果能被3200整除,并且能被172800整除则是闰年。如172800年是闰年,86400年不是闰年(因为虽然能被3200整除,但不能被172800整除)(此按一回归年365天5h48'45.5''计算)。

公元前闰年的计算方法:

1、非整百年:年数除以4余数为1是闰年,即公元前1、5、9……是闰年;

2、整百年:年数除以400余数为1是闰年,即公元前401、801……是闰年。

闰月怎么算法

闰月是一种历法置闰方式,闰月特指农历每2至3年增加的一个月。农历以月球绕地球定历法,农历以朔望月的长度29.5306日为一个月的平均值,全年12月,比回归年的365.2422日少10.88天,积以置闰。所以每三年要闰一个月,每五年闰两个月,每十九年闰七个月。这样每逢闰年所加的一个月,称为闰月,闰月加在某月之后,就叫闰某月。

2020年是闰年还是平年怎么算

2020年是闰年,算法如下:

闰年是历法中的名词,分为普通闰年和世纪闰年。

闰年是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。补上时间差的年份为闰年。闰年共有366天。

闰年的计算方法:

普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。

世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)。

2020年是普通年份,能被4整除,所以是闰年。

热门标签

最近文章