home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 463.lha / Date_routines / easter.c < prev    next >
Text File  |  1991-01-04  |  706b  |  27 lines

  1. /*****
  2.                                 easter()
  3.  
  4.       This function returns the date for Easter. If the return value is
  5.     greater than 31 (the number of days in March), the return value
  6.     minus 31 is the date in April. Otherwise, the return value is the
  7.     March date.
  8.  
  9.    Argument list:    int year       the year desired (such as 1989)
  10.  
  11.    Return value:     int            the date for Easter (see note
  12.                                     above)
  13.  
  14. *****/
  15.  
  16. int easter(int year)
  17. {
  18.    int cen, leap, days, temp1, temp2;
  19.  
  20.    cen = year % 19;
  21.    leap = year % 4;
  22.    days = year % 7;
  23.    temp1 = (19 * cen + 24) % 30;
  24.    temp2 = (2 * leap + 4 * days + 6 * temp1 + 5) % 7;
  25.    return (22 + temp1 + temp2);
  26. }
  27.