#easter formular (GAUSS) def easter(y): a = y % 19 b = y % 4 c = y % 7 d = ((y/100) * 8 + 13) / 25 - 2 e = y/100 - y/400 - 2 f = (15 + e - d) % 30 g = (6 + e) % 7 h = (19*a + f) % 30 i = h if h == 29: i = 28 if h == 28 and a > 10: i = 27 j = (2*b + 4*c + 6*i + g) % 7 #in days of march easter_day = i + j + 22 m = easter_day/32 + 3 d = easter_day % 32 + (m==4) #return day,month return (d,m) for y in range(2001,3001): o = easter(y) print"%02d %s, %05d"%(o[0],["MARCH","APRIL"][o[1]-3],y)