Have a question for us? Use our contact sales form:
With Easter approaching, I was thinking about the calculation for Easter day. Back in the 1970s I had one of the first affordable programmable calculators, the Sinclair Cambridge Programmable, and this came with a book of algorithms for calculating all kinds of interesting things, mainly science and engineering related. It even had a rudimentary version of the Lunar Lander game, although with only the altitude and speed shown on the display, you had to use your imagination.One of the sample algorithms offered with the calculator was a routine to work out Easter day for any given year.Easter Day is a moving feast, based on the movements of the moon. Specifically you have to work out the date of the Paschal Full Moon, then Easter day falls on the following Sunday. As usual Wikipedia has extraordinary levels of detail on the available algorithm, and as far as I remember the steps for the Sinclair calculator looked like those listed under Anonymous Gregorian algorithm: a = Y mod 19 b = floor (Y / 100) c = Y mod 100 d = floor (b / 4) e = b mod 4 f = floor ((b + 8) / 25) g = floor ((b - f + 1) / 3) h = (19a + b - d - g + 15) mod 30 i = floor (c / 4) k = c mod 4 L = (32 + 2e + 2i - h - k) mod 7 m = floor ((a + 11h + 22L) / 451) month = floor ((h + L - 7m + 114) / 31) day = ((h + L - 7m + 114) mod 31) + 1So in other words in a series of quite simple fixed point calculations you can go from the year number to a month (March or April) and a day number. Quite simple and elegant, and ideal for my calculator, which only had a 36 steps (operations) in its memory.