Collaborative golf.

[email protected] (Piers Cawley)
Newsgroups perl.golf
Message-ID <[email protected]>
So, whilst rambling, I came upon the calculations required to work out
the date of easter for a given year (Gregorian calendar). Here it is
expressed in perl.

    my $year = pop;
    my $G = $year%19;
    my $C = int($year/100);
    my $H = ($C - $C/4 - int((8*$C+13)/25) + 19*$G + 15) %30;
    $I = $H - int($H/28)*(1 - int($H/28) * int(29/($H+1)) * int(21-$G/11));
    $J = ($year + int($year/4) + $I + 2 - $C + int($C/4))%7;
    $L = $I - $J;
    $month = 3 + int(($L+40)/44);
    $day = $L + 28 - 31 * int($month/4);
    printf("%d%02d%02d\n", $year, $month, $day);

I'm sure we can do better. But how *much* better?

My current best effort stands at 212 chars (scored by wc), which I'll
post later today, unless someone has already done better.

Kudos will be given to anyone who does it in a regex...

-- 
Piers

   "It is a truth universally acknowledged that a language in
    possession of a rich syntax must be in need of a rewrite."
         -- Jane Austen?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.