农历闰年算法速算口诀

2024-08-03 16:03:30
二建小科普
二建小科普认证

二建小科普为您分享以下优质知识

地球要经过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