Path: utzoo!attcan!uunet!willett!ForthNet From: ForthNet@willett.UUCP (ForthNet articles from GEnie) Newsgroups: comp.lang.forth Subject: Data Structures Message-ID: <1046.UUL1.3#5129@willett.UUCP> Date: 1 Jun 90 03:45:15 GMT Organization: Latest link in the ForthNet chain. (Pgh, PA) Lines: 40 Date: 05-30-90 (20:17) Number: 3291 (Echo) To: MICHAEL HAM Refer#: 3289 From: MICHAEL HAM Read: NO Subj: EASTER LOCATION Status: PUBLIC MESSAGE Well, I have an answer about Easter Sunday: it falls on the first Sunday following the arbitrary Paschal Full Moon, which does not necessarily coincide with a real or astronomical full moon. The Paschal Full Moon is calculated by dividing the year by 19, and then using the remainder to index into the following table: 0 Apr 14 5 Apr 18 10 Mar 25 15 Mar 30 1 Apr 3 6 Apr 8 11 Apr 13 16 Apr 17 2 Apr 23 7 Mar 28 12 Apr 2 17 Apr 7 3 Apr 11 8 Apr 16 13 Mar 22 18 Mar 27 4 Mar 31 9 Apr 5 14 Apr 10 For the year 2000, for example, leaves a remainder of 5 when divided by 19. The table shows that the Paschal Full Moon then falls on April 18. In 2000, April 18 is a Tuesday, so thaM following Sunday (April 23) is Easter Sunday. NOTE: If the Pascal Full Moon falls on a Sunday, Easter is the following Sunday. The earliest Easter can Fall is March 23; the latest is April 25. Obviously the simplest thing will be to compute the Easter Sunday dates and then store them in a table: if I use a 0 prefix to denote March and a 1 prefix to denote April (so that 027 means March 27 and 115 means April 15), I can store each date in a single byte (with one bit left over for other uses), indexing into the table with the year normalized to the beginning of the table. Ash Wednesday, if you need that, is 40 days before Easter, not counting Sundays. Or 46 days, if you do count Sundays. ----- This message came from GEnie via willett through a semi-automated process. Report problems to: uunet!willett!dwp or willett!dwp@hobbes.cert.sei.cmu.edu