Easter by tabasa

def p y\x0d
g=y%19\x0d
f=(g*19+15)%30\x0d
c=(y-1500)/100\x0d
j=c/25*8+[8,(c%25)/3].min+3\x0d
f=(f+y/100-y/400-2-j)%30\x0d
if(f==28&&g>=11)\x0d
f-=1\x0d
elsif f>28\x0d
f=28\x0d
end\x0d
f+7-(y+y/4-y/100+y/400+30+f)%7\x0d
end\x0d
def c y\x0d
m=3\x0d
d=21+p(y)\x0d
(m+=1;d-=31)if d>31\x0d
puts("#{format"%02d",d} #{m==4?"APRIL":"MARCH"}, #{format"%05d",y}")\x0d
end\x0d
1000.times{|i|c 2001+i}

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return top