> I believe that for calculation by simple souls Easter is just the first
> Sunday after the first full moon after the equinox of 21 March.  But I
> would like to find Easter several years ahead and do not know where to
> find lunar phases except for the current year.  Or is there a handy
> table somewhere.  There is one in the Oxford Companion to English
> Literature, extending over hundreds of years but it ends at the year
> 2000.  Can anyone help, please?
> -- 
> Frank Evans

Here is a C implementation of Meeus's Easter algorithm

#include <stdio.h>
#include <stdlib.h>

/* Credit to Jean Meeus. */

main(int argc, char *argv[])
{
  int year, a, b, c, d, e, f, g, h, i, k, l, m, n, p;

  if ( argc != 2 )
  {
    fprintf(stderr, "Usage: %s year\n", argv[0]);
    exit(1);
  }
  year = atoi(argv[1]);
  a = year % 19;
  b = year / 100;
  c = year % 100;
  d = b / 4;
  e = b % 4;
  f = (b + 8) / 25;
  g = (b - f + 1) / 3;
  h = (19 * a + b - d - g + 15) % 30;
  i = c / 4;
  k = c % 4;
  l = (32 + 2 * e + 2 * i -h -k) % 7;
  m = (a + 11 * h + 22 * l) / 451;
  n = (h + l - 7 * m + 114) / 31;
  p = (h + l - 7 * m + 114) % 31;

  printf("Easter %d is %s %d.\n", year, n == 3 ? "March" : "April", p + 1);
}

Reply via email to