Doomsday rule

From Wikipedia, the free encyclopedia
  (Redirected from Doomsday algorithm)
Jump to: navigation, search
John Conway, inventor of the Doomsday algorithm.

The Doomsday rule or Doomsday algorithm is a way of calculating the day of the week of a given date. It provides a perpetual calendar because the Gregorian calendar moves in cycles of 400 years.

This algorithm for mental calculation was devised by John Conway[1][2] after drawing inspiration from Lewis Carroll's work on a perpetual calendar algorithm.[3][4] It takes advantage of each year having a certain day of the week (the doomsday) upon which certain easy-to-remember dates fall; for example, 4/4, 6/6, 8/8, 10/10, 12/12, and the last day of February all occur on the same day of the week in any given year. Applying the Doomsday algorithm involves three steps:

  1. Determine the "anchor day" for the century.
  2. Use the anchor day for the century to calculate the doomsday for the year.
  3. Choose the closest date out of the ones that always fall on the doomsday (e.g. 4/4, 6/6, 8/8), and count the number of days (modulo 7) between that date and the date in question to arrive at the day of the week.

This technique applies to both the Gregorian calendar A.D. and the Julian calendar, although their doomsdays will usually be different days of the week.

Since this algorithm involves treating days of the week like numbers modulo 7, John Conway suggests thinking of the days of the week as "Noneday" or "Sansday" (for Sunday), "Oneday", "Twosday", "Treblesday", "Foursday", "Fiveday", and "Six-a-day".

The algorithm is simple enough for anyone with basic arithmetic ability to do the calculations mentally. Conway can usually give the correct answer in under two seconds. To improve his speed, he practices his calendrical calculations on his computer, which is programmed to quiz him with random dates every time he logs on.[5]

Doomsdays for some contemporary years[edit]

Doomsday for the current year in the Gregorian calendar (2014) is Friday.

For some other contemporary years :

Doomsdays for the Gregorian calendar
Mon. Tue. Wed. Thu. Fri. Sat. Sun. Mon. Tue. Wed. Thu. Fri. Sat. Sun.
1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954
1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965
1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976
1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987
1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021
2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032
2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043
2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055
2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066
2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077
2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088
2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100

Notes: Fill in the table horizontally, skipping one column for each leap year. This table cycles every 28 years, except in the Gregorian calendar on years multiple of 100 (like 1900 which is not a leap year) that are not multiple of 400 (like 2000 which is still a leap year). The full cycle is 28 years (1,461 weeks) in the Julian calendar, 400 years (20,871 weeks) in the Gregorian calendar.

Memorable dates that always land on Doomsday[edit]

One can easily find the day of the week of a given calendar date by using a nearby Doomsday as a reference point. To help with this, the following is a list of easy-to-remember dates for each month that always land on the Doomsday.

As mentioned above, the last day of February always falls on the doomsday, as do the double dates 4/4, 6/6, 8/8, 10/10, and 12/12. Four of the odd month dates (May 9, September 5, July 11, and November 7) can be remembered with the mnemonic "I work from 9 to 5 at the 7–11." For March, one can remember the pseudo-date "March 0", which refers to the day before March 1, i.e. the last day of February; one can alternately remember the date a week later, March 7, or March 21 which is traditionally regarded as the first day of spring in the northern hemisphere and autumn in the southern hemisphere (although after 2007 the Northward equinox will not fall on that date in Europe again until 2102).[6] For January, January 11 is a Doomsday during leap years, while January 10 is a Doomsday during common years; January 3 is a doomsday during common years and January 4 a Doomsday during leap years, which can be remembered as "the 3rd during 3 years in 4, and the 4th in the 4th".

Month Memorable date Month/Day Mnemonic
January January 3 (common years), January 4 (leap years)
January 11 (leap years)
January 17 (common years) (if the year starts on Saturday),
January 18 (leap years) (if the year starts on Friday)
1/3 or 1/4
1/11
1/17 or 1/18
the 3rd 3 years in 4 and the 4th in the 4th
all ones
Martin Luther King Day
February February 14 (common years)
February 15 (leap years) (if February starts on Monday),
February 21 (common years) (if February starts on Tuesday)
February 22 (leap years)
February 28 (common years), February 29 (leap years)
2/14
2/15 or 2/21
2/22
2/28 or 2/29
Valentine's Day
Washington's Birthday
all twos
last day of February
March "March 0"
March 14
March 21
3/0
3/14
3/21
last day of February
Pi day/Daylight Saving Time begins (USA and Canada) (if March starts on Monday)
traditionally first day of spring/autumn
April April 4 4/4 even month
May May 9
May 30
5/9
5/30
9-to-5 at 7-11/Mother's Day (if May starts on Saturday)
Traditional Memorial Day (United States) (if May starts on Sunday)
June June 6
June 20
6/6
6/20
even month
traditionally first day of summer/winter/
Father's Day (if June starts on Tuesday)
July July 4
July 11
7/4
7/11
Independence Day (United States)
9-to-5 at 7–11
August August 8 8/8 even month
September September 5 9/5 9-to-5 at 7-11/Labor Day (if September starts on Thursday)
October October 10
October 31
10/10
10/31
even month/Thanksgiving (Canada) (if October starts on Friday)
Halloween
November November 7
November 28 (if November starts on Sunday, Tuesday, Thursday, or Friday)
11/7
11/28
9-to-5 at 7-11/Election Day (if November starts on Wednesday)/Thanksgiving (Liberia)/Daylight Saving Time ends (USA and Canada) (if November starts on Monday)
Thanksgiving (Norfolk Island and USA) (if November starts on a Friday)/Black Friday/Small Business Saturday/Cyber Monday
December December 12
December 26
12/12
12/26
even month
Boxing Day/St. Stephen's Day (west)/Christmas Sunday (if December starts on Wednesday)

Since the Doomsday for a particular year is directly related to weekdays of dates in the period from March through February of the next year, common years and leap years have to be distinguished for January and February of the same year.

Examples[edit]

To find which day of the week Christmas Day of 2006 was: in the year 2006, Doomsday was Tuesday. Since December 12 is a Doomsday, December 25, being thirteen days afterwards (two weeks less a day), fell on a Monday.

It is useful to note that Christmas Day is always the day before Doomsday ("One off Doomsday"). In addition, July 4 is always on a Doomsday, as is Halloween (October 31).

To find the day of week that the September 11, 2001 attacks on the World Trade Center occurred: the century anchor was Tuesday, and Doomsday for 2001 is one day beyond, which is Wednesday. September 5 was a Doomsday, and September 11, six days later, fell on a Tuesday.

Finding a year's Doomsday[edit]

We first take the anchor day for the century. For the purposes of the Doomsday rule, a century starts with '00 and ends with '99. The following table shows the anchor day of centuries 1800–1899, 1900–1999, 2000–2099 and 2100–2199.

Century Anchor day Mnemonic Index (day of week)
1800–1899 Friday 5 (Fiveday)
1900–1999 Wednesday We-in-dis-day
(most living people were born in that century)
3 (Treblesday)
2000–2099 Tuesday Y-Tue-K or Twos-day
(Y2K was at the head of this century)
2 (Twosday)
2100–2199 Sunday Twenty-one-day is Sunday
(2100 is the start of the next century)
0 (Noneday)

Next, we find the year's Doomsday. To accomplish that according to Conway:

  1. Divide the year's last two digits (call this y) by 12 and let a be the floor of the quotient.
  2. Let b be the remainder of the same quotient.
  3. Divide that remainder by 4 and let c be the floor of the quotient.
  4. Let d be the sum of the three numbers (d = a + b + c). (It is again possible here to divide by seven and take the remainder. This number is equivalent, as it must be, to the sum of the last two digits of the year taken collectively plus the floor of those collective digits divided by four.)
  5. Count forward the specified number of days (d or the remainder of d/7) from the anchor day to get the year's Doomsday.
\begin{matrix}\left({\left\lfloor{\frac{y}{12}}\right\rfloor+y \bmod 12+\left\lfloor{\frac{y \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\rm{anchor}=\rm{Doomsday}\end{matrix}

For the twentieth-century year 1966, for example:

\begin{matrix}\left({\left\lfloor{\frac{66}{12}}\right\rfloor+66 \bmod 12+\left\lfloor{\frac{66 \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\rm{Wednesday} & = & \left(5+6+1\right) \bmod 7+\rm{Wednesday} \\
\ & = & \rm{Monday}\end{matrix}

As described in bullet 4, above, this is equivalent to:

\begin{matrix}\left({66 + \left\lfloor{\frac{66}{4}}\right\rfloor}\right) \bmod 7+\rm{Wednesday} & = & \left(66+16\right) \bmod 7+\rm{Wednesday} \\
\ & = & \rm{Monday}\end{matrix}

So Doomsday in 1966 fell on Monday.

Similarly, Doomsday in 2005 is on a Monday:

\left({\left\lfloor{\frac{5}{12}}\right\rfloor+5 \bmod 12+\left\lfloor{\frac{5 \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\rm{Tuesday}=\rm{Monday}

Why it works[edit]

Doomsday rule

The doomsday calculation is effectively calculating the number of days between any given date in the base year and the same date in the current year, then taking the remainder modulo 7. When both dates come after the leap day (if any), the difference is just 365y plus y/4 (rounded down). But 365 equals 52*7+1, so after taking the remainder we get just

(y + \lfloor \frac{y}{4} \rfloor) \bmod 7.

This gives a simpler formula if one is comfortable dividing large values of y by both 4 and 7. For example, we can compute (66 + \lfloor \frac{66}{4} \rfloor) \bmod 7 = (66 + 16) \bmod 7 = 82 \bmod 7 = 5, which gives the same answer as in the example above.

Where 12 comes in is that the pattern of (y + \lfloor \frac{y}{4} \rfloor) \bmod 7 almost repeats every 12 years. After 12 years, we get (12 + 12/4) mod 7 = 15 mod 7 = 1. If we replace y by y mod 12, we are throwing this extra day away; but adding back in \lfloor \frac{y}{12} \rfloor compensates for this error, giving the final formula.

The Odd+11 method[edit]

A simple flowchart showing the Odd+11 method.

A simpler method for finding the year's doomsday was discovered in 2010 by Chamberlain Fong and Michael K. Walters,[7] and described in their paper submitted to the 7th International Congress on Industrial and Applied Mathematics (2011). Called the Odd+11 method, it has been proven[7] equivalent to computing

(y + \lfloor \frac{y}{4} \rfloor) \, \operatorname{mod} \, 7.

It is well suited to mental calculation, because it requires no division by 4 (or 12), and the procedure is easy to remember because of its repeated use of the "odd+11" rule.

Extending this to get the Doomsday, the procedure is often described as accumulating a running total T in six steps, as follows:

  1. Let T be the year's last two digits.
  2. If T is odd, add 11.
  3. Now let T = T/2.
  4. If T is odd, add 11.
  5. Now let T = 7 − (T mod 7).
  6. Count forward T days from the century's anchor day to get the year's Doomsday.

Applying this method to the year 2005, for example, the steps as outlined would be:

  1. T = 5
  2. T = 5+11 = 16 (Added 11 because T is odd)
  3. T = 16/2 = 8
  4. T = 8 (Do nothing since T is even.)
  5. T = 7 − (8 mod 7) = 7 − 1 = 6
  6. Doomsday for 2005 = 6 + Tuesday = Monday



The explicit formula for the odd+11 method is:

 -[ \frac{y+11(y \bmod 2)}{2} + 11 (\frac{y+11(y \bmod 2)}{2}\bmod 2) ] \bmod 7 .

Although this expression looks daunting and complicated, it is actually simple[7] because of a common subexpression  \frac{y+11(y \bmod 2)}{2} that only needs to be calculated once.

Dominical letter method[edit]

A year's doomsday (DD) can be determined from a year's dominical letter (DL), too.

 \mbox{DD} = (3 - \mbox{DL})\bmod 7

Note: A = 1, B = 2, ..., G = 0.

For the year 1966 the dominical letter is B, so the doomsday DD = 3 – 2 = 1 = Monday.

Doomsday Dominical letter
Sunday C, DC
Monday B, CB
Tuesday A, BA
Wednesday G, AG
Thursday F, GF
Friday E, FE
Saturday D, ED

Finding a century's anchor day[edit]

For the Gregorian calendar:

5\times(c\bmod 4)+ \rm{Tuesday = anchor.}

For the Julian calendar:

6\times(c\bmod 7)\bmod 7 + \rm{Sunday = anchor}.

Note: c = \lfloor year/100 \rfloor.

Overview of all Doomsdays[edit]

Month Dates Week numbers *
January (common years) 3, 10, 17, 24, 31 1–5
January (leap years) 4, 11, 18, 25 1–4
February (common years) 7, 14, 21, 28 6–9
February (leap years) 1, 8, 15, 22, 29 5–9
March 7, 14, 21, 28 10–13
April 4, 11, 18, 25 14–17
May 2, 9, 16, 23, 30 18–22
June 6, 13, 20, 27 23–26
July 4, 11, 18, 25 27–30
August 1, 8, 15, 22, 29 31–35
September 5, 12, 19, 26 36–39
October 3, 10, 17, 24, 31 40–44
November 7, 14, 21, 28 45–48
December 5, 12, 19, 26 49–52

* In leap years the nth Doomsday is in ISO week n. In common years the day after the nth Doomsday is in week n. Thus in a common year the week number on the Doomsday itself is one less if it is a Sunday, i.e., in a common year starting on Friday.

Computer formula for the Doomsday of a year[edit]

For computer use, the following formulas for the Doomsday of a year are convenient.

For the Gregorian calendar:

\mbox{Doomsday} =  \mbox{Tuesday} + y + \left\lfloor\frac{y}{4}\right\rfloor - \left\lfloor\frac{y}{100}\right\rfloor + \left\lfloor\frac{y}{400}\right\rfloor = \mbox{Tuesday} + 5\times (y\mod 4) + 4\times (y\mod 100) + 6\times (y\mod 400)

For example, the year 2009 has a doomsday of Saturday under the Gregorian calendar (the currently accepted calendar), since

\mbox{Saturday (6)} \mod 7 =  \mbox{Tuesday (2)} + 2009 + \left\lfloor\frac{2009}{4}\right\rfloor - \left\lfloor\frac{2009}{100}\right\rfloor + \left\lfloor\frac{2009}{400}\right\rfloor
  = ( 2 + 2009 + 502 - 20 + 5) \mod 7 = (2 + 0 + 5 - 6 + 5) \mod 7 = 6

For the Julian calendar:

\mbox{Doomsday} =  \mbox{Sunday} + y + \left\lfloor\frac{y}{4}\right\rfloor = \mbox{Sunday}+ 5\times (y\mod 4) + 3\times (y\mod 7)

The formulas apply also for the proleptic Gregorian calendar and the proleptic Julian calendar. They use the floor function and astronomical year numbering for years BC.

For comparison, see the calculation of a Julian day number.

400-year cycle of Doomsdays[edit]

Julian
centuries

———

Gregorian
centuries

\

Years
-200J
500J
1200J
1900J

−400
0
400
800
1200
1600
2000
2400
-100J
600J
1300J
2000J

0J
700J
1400J
2100J

−300
100
500
900
1300
1700
2100
2500
100J
800J
1500J
2200J

200J
900J
1600J
2300J

−200
200
600
1000
1400
1800
2200
2600
300J
1000J
1700J
2400J

400J
1100J
1800J
2500J

−100
300
700
1100
1500
1900
2300
2700
00 28 56 84 Tue. Mon. Sun. Sat. Fri. Thu. Wed.
01 29 57 85 Wed. Tue. Mon. Sun. Sat. Fri. Thu.
02 30 58 86 Thu. Wed. Tue. Mon. Sun. Sat. Fri.
03 31 59 87 Fri. Thu. Wed. Tue. Mon. Sun. Sat.
04 32 60 88 Sun. Sat. Fri. Thu. Wed. Tue. Mon.
05 33 61 89 Mon. Sun. Sat. Fri. Thu. Wed. Tue.
06 34 62 90 Tue. Mon. Sun. Sat. Fri. Thu. Wed.
07 35 63 91 Wed. Tue. Mon. Sun. Sat. Fri. Thu.
08 36 64 92 Fri. Thu. Wed. Tue. Mon. Sun. Sat.
09 37 65 93 Sat. Fri. Thu. Wed. Tue. Mon. Sun.
10 38 66 94 Sun. Sat. Fri. Thu. Wed. Tue. Mon.
11 39 67 95 Mon. Sun. Sat. Fri. Thu. Wed. Tue.
12 40 68 96 Wed. Tue. Mon. Sun. Sat. Fri. Thu.
13 41 69 97 Thu. Wed. Tue. Mon. Sun. Sat. Fri.
14 42 70 98 Fri. Thu. Wed. Tue. Mon. Sun. Sat.
15 43 71 99 Sat. Fri. Thu. Wed. Tue. Mon. Sun.
16 44 72 Mon. Sun. Sat. Fri. Thu. Wed. Tue.
17 45 73 Tue. Mon. Sun. Sat. Fri. Thu. Wed.
18 46 74 Wed. Tue. Mon. Sun. Sat. Fri. Thu.
19 47 75 Thu. Wed. Tue. Mon. Sun. Sat. Fri.
20 48 76 Sat. Fri. Thu. Wed. Tue. Mon. Sun.
21 49 77 Sun. Sat. Fri. Thu. Wed. Tue. Mon.
22 50 78 Mon. Sun. Sat. Fri. Thu. Wed. Tue.
23 51 79 Tue. Mon. Sun. Sat. Fri. Thu. Wed.
24 52 80 Thu. Wed. Tue. Mon. Sun. Sat. Fri.
25 53 81 Fri. Thu. Wed. Tue. Mon. Sun. Sat.
26 54 82 Sat. Fri. Thu. Wed. Tue. Mon. Sun.
27 55 83 Sun. Sat. Fri. Thu. Wed. Tue. Mon.

Since in the Gregorian calendar there are 146097 days, or exactly 20871 seven-day weeks, in 400 years, the anchor day repeats every four centuries. For example, the anchor day of 1700–1799 is the same as the anchor day of 2100–2199, i.e. Sunday.

The full 400-year cycle of Doomsdays is given in the table to the right. The centuries are for the Gregorian and proleptic Gregorian calendar, unless marked with a J for Julian. The Gregorian leap years are highlighted.

Negative years use astronomical year numbering. Year 25BC is −24, shown in the column of −100J (proleptic Julian) or −100 (proleptic Gregorian), at the row 76.

Frequency of Gregorian Doomsday in the 400-year cycle per weekday and year type
Sunday Monday Tuesday Wednesday Thursday Friday Saturday Total
Non-leap years 43 43 43 43 44 43 44 303
Leap years 13 15 13 15 13 14 14 97
Total 56 58 56 58 57 57 58 400

A leap year with Monday as Doomsday means that Sunday is one of 97 days skipped in the 497-day sequence. Thus the total number of years with Sunday as Doomsday is 71 minus the number of leap years with Monday as Doomsday, etc. Since Monday as Doomsday is skipped across 29 February 2000 and the pattern of leap days is symmetric about that leap day, the frequencies of Doomsdays per weekday (adding common and leap years) are symmetric about Monday. The frequencies of Doomsdays of leap years per weekday are symmetric about the Doomsday of 2000, Tuesday.

The frequency of a particular date being on a particular weekday can easily be derived from the above (for a date from 1 January – 28 February, relate it to the Doomsday of the previous year).

For example, 28 February is one day after Doomsday of the previous year, so it is 58 times each on Tuesday, Thursday and Sunday, etc. 29 February is Doomsday of a leap year, so it is 15 times each on Monday and Wednesday, etc.

28-year cycle[edit]

Regarding the frequency of Doomsdays in a Julian 28-year cycle, there are 1 leap year and 3 common years for every weekday, the latter 6, 17 and 23 years after the former (so with intervals of 6, 11, 6, and 5 years; not evenly distributed because after 12 years the day is skipped in the sequence of Doomsdays).[citation needed] The same cycle applies for any given date from 1 March falling on a particular weekday.

For any given date up to 28 February falling on a particular weekday, the 3 common years are 5, 11, and 22 years after the leap year, so with intervals of 5, 6, 11, and 6 years. Thus the cycle is the same, but with the 5-year interval after instead of before the leap year.

Thus, for any date except 29 February, the intervals between common years falling on a particular weekday are 6, 11, 11. See e.g. at the bottom of the page Common year starting on Monday the years in the range 1906–2091.

For 29 February falling on a particular weekday, there is just one in every 28 years, and it is of course a leap year.

Julian calendar[edit]

The Gregorian calendar accurately lines up with astronomical events such as solstices. In 1582 this modification of the Julian calendar was first instituted. In order to correct for calendar drift, 10 days were skipped, so Doomsday moved back 10 days (i.e. 3 days): Thursday 4 October (Julian, Doomsday is Wednesday) was followed by Friday 15 October (Gregorian, Doomsday is Sunday). The table includes Julian calendar years, but the algorithm is for the Gregorian and proleptic Gregorian calendar only.

Note that the Gregorian calendar was not adopted simultaneously in all countries, so for many centuries, different regions used different dates for the same day.

Full examples[edit]

Example 1 (1985)[edit]

Suppose you want to know the day of the week of September 18, 1985. You begin with the century's anchor day, Wednesday. To this, we'll add three things, called a, b, and c above:

  • a is the floor of 85/12, which is 7.
  • b is 85 mod 12, which is 1.
  • c is the floor of b/4, which is 0.

This yields 8. In modulo 7 arithmetic, 8 is congruent to 1. Because the century's anchor day is Wednesday (index 3), and 3 + 1 = 4, Doomsday in 1985 was Thursday (index 4). We now compare September 18 to a nearby Doomsday, September 5. We see that the 18th is 13 past a Doomsday. In modulo 7 arithmetic, 13 is congruent to 6 or, more succinctly, −1. Thus, we take one away from the Doomsday, Thursday, to find that September 18, 1985 was a Wednesday.

Example 2 (other centuries)[edit]

Suppose that you want to find the day of week that the American Civil War broke out at Fort Sumter, which was April 12, 1861. The anchor day for the century was 99 days after Thursday, or, in other words, Friday (calculated as (18+1)*5+floor(18/4); or just look at the chart, above, which lists the century's anchor days). The digits 61 gave a displacement of six days so Doomsday was Thursday. Therefore, April 4 was Thursday so April 12, eight days later, was a Friday.

See also[edit]

References[edit]

  1. ^ John Horton Conway, "Tomorrow is the Day After Doomsday", Eureka, volume 36, pages 28–31, October 1973.
  2. ^ Richard Guy, John Horton Conway, Elwyn Berlekamp : "Winning Ways: For Your Mathematical Plays, Volume. 2: Games in Particular", pages 795–797, Academic Press, London, 1982, ISBN 0-12-091102-7.
  3. ^ Lewis Carroll, "To Find the Day of the Week for Any Given Date", Nature, March 31, 1887.
  4. ^ Martin Gardner, "The Universe in a Handkerchief: Lewis Carroll's Mathematical Recreations, Games, Puzzles, and Word Plays", pages 24–26, Springer-Verlag, 1996
  5. ^ Alpert, Mark. "Not Just Fun and Games", Scientific American, April, 1999.
  6. ^ "Why Has Date Changed for Start of Spring?". www.space.com. Retrieved 15 February 2013. 
  7. ^ a b c Chamberlain Fong, Michael K. Walters: "Methods for Accelerating Conway's Doomsday Algorithm (part 2)", 7th International Congress on Industrial and Applied Mathematics (2011)

External links[edit]