Algorithme du jour du Jugement dernier
# Algorithme du jour du Jugement dernier

L’algorithme de jour du Jugement dernier, ou méthode des jours pivots, ou méthode du clavedi, ou enfin méthode de Conway (à distinguer de la méthode de Conway pour le calcul de la date de Pâques), anglais : Doomsday rule ou Doomsday algorithm, est une méthode de calcul du jour de la semaine à une date précise. Elle fournit un calendrier perpétuel pour le calendrier grégorien et pour le calendrier julien. Le principe de cette méthode peut être étendu à d'autres calendriers solaires dont les règles d'intercalation sont celles du calendrier julien ou du calendrier grégorien.

## Historique

L'algorithme permettant le calcul mental fut élaboré à l'origine par John Horton $Conway^,$ en 1973, qui tira son inspiration des travaux de Lewis Carroll sur un algorithme pour un calendrier $perpétuel^,.$

L'algorithme est suffisamment simple pour que tous ceux qui ont des connaissances arithmétiques puissent faire des calculs mentaux. John Conway pouvait généralement donner la réponse correcte en moins de deux secondes. Pour améliorer ses capacités, il avait installé sur son ordinateur un programme pour lui demander une date au hasard à chaque fois qu'il ouvrait une session.

L'algorithme a été amélioré par les mathématiciens Chamberlain Fong et Michael Walterss, afin de simplifier les calculs mentaux intermédiaires. Leur variante est dénommée "11 sur impair", pour "Odd + 11" en anglais.

Le site du calendrier milésien propose un exposé succinct de la méthode, et une traduction du mot doomsday utilisé dans ce contexte en clavedi.

## Résumé de la méthode

John Conway prend en compte le fait que chaque année compte un certain nombre de dates faciles à se rappeler qui tombent toutes le même jour de la semaine. Par exemple, les 4/4, 6/6, 8/8, 10/10, 12/12, et le dernier jour de février (le « 0 mars ») d'une même année tombent tous le même jour de la semaine. Appelons jours pivots ou dates pivots ces dates, et jour clé ou clavedi ce jour de semaine caractéristique de l'année.

Les jours de semaine énumérés de dimanche à samedi sont caractérisés par leur rang, un chiffre de 0 à 6, le reste d'une division euclidienne d'un nombre entier par 7. La méthode donne le jour clé de n'importe quelle année sous forme d'un tel chiffre.

Appliquer l'algorithme implique trois étapes :

* déterminer le « jour balise » pour le siècle, le jour clé de l'année 0 du siècle, que nous appellerons balise de siècle,
* calculer le décalage entre la balise de siècle et le jour clé de l'année de la date recherchée, sur la base de la partie infraséculaire de l'année, c'est-à-dire les deux derniers chiffres, et en déduire le jour clé de l'année,
* choisir la date la plus proche parmi celles qui tombent sur un jour pivot (par exemple, les 4/4, 6/6, 8/8), et compter le nombre de jours (modulo 7) entre cette date et la date en question pour arriver au jour de la semaine.

Cette technique s'applique au calendrier grégorien et au calendrier julien, bien que leurs jours clés soient généralement différents pour une même année.

### Numérotation des jours de semaine

Les jours de la semaine sont caractérisés par les nombres de 0 à 6 : 0 pour dimanche, 1 pour lundi, 2 pour mardi, 3 pour mercredi, 4 pour jeudi, 5 pour vendredi et 6 pour samedi.

John Conway suggère de penser les jours de la semaine comme étant « Noneday » ou « Sansday » (pour dimanche, jour 0), « Oneday », « Twosday », « Treblesday », « Foursday », « Fiveday », et « Six-a-day ». Il y a des langues, comme le portugais et le galicien, qui fondent le nom des jours sur leur position dans la semaine. En français, on peut évoquer "L'un di" pour se rappeler que le nombre un correspond au lundi.

### Jours pivots de l'année

* Le 4 janvier les années bissextiles, le 3 janvier les années communes.
* 0/3 : 0 mars, le dernier jour de février.
* 4/4 : 4 avril.
* 6/6 : 6 juin.
* 8/8 : 8 août.
* 10/10 : 10 octobre.
* 12/12 : 12 décembre.
* 9/5 et 5/9 : 9 mai et 5 septembre.
* 11/7 et 7/11 : 11 juillet et 7 novembre.
* Les années bissextiles: 11/1 et 22/2., 11 janvier et 22 février. En année commune, il faut reculer d'une unité, on obtient alors 10/1 et 21/2.

Pour se rappeler le premier jour pivot, John Conway suggère la phrase: "le 3 les 3 premières années, le 4 la 4e année" (s'agissant du cycle de quatre années finissant par l'année bissextile).

Pour se rappeler les jours des mois impairs de mai à novembre, John Conway suggère la phrase : "Je travaille de 9 heures à 5 heures au Seven Eleven."

### Jours-clés pour certaines années contemporaines du calendrier grégorien

Le jour clé de l'année actuelle (2023) est mardi. Celui de l'année prochaine (2024) est jeudi .

Jours clés pour le calendrier grégorien :

| Lun. | Mar. | Mer. | Jeu. | Ven. | Sam. | Dim. | Lun. | Mar. | Mer. | Jeu. | Ven. | Sam. | Dim. |
| - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| 1898 | 1899 | 1900 | 1901 | 1902 | 1903 | → | 1904 | 1905 | 1906 | 1907 | → | 1908 | 1909 |
| 1910 | 1911 | → | 1912 | 1913 | 1914 | 1915 | → | 1916 | 1917 | 1918 | 1919 | → | 1920 |
| 1921 | 1922 | 1923 | → | 1924 | 1925 | 1926 | 1927 | → | 1928 | 1929 | 1930 | 1931 | → |
| 1932 | 1933 | 1934 | 1935 | → | 1936 | 1937 | 1938 | 1939 | → | 1940 | 1941 | 1942 | 1943 |
| → | 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 |

### Quelques dates tombant le jour clé ou un jour proche

Dates tombant le jour clé :

| Mois | Date remarquable | Moyen mnémotechnique | Liste complète des dates du mois |
| - | - | - | - |
| Janvier | Le 3 en année commune, le 4 en année bissextile. | Le 3 les 3 premières années... | 3, 10, 17, 24, 31 |
| Janvier | Le 3 en année commune, le 4 en année bissextile. | .. le 4 la 4e année | 4, 11, 18, 25 |
| Janvier bissextile | 11 janvier | 11/1 | 4, 11, 18, 25 |
| Janvier commun | 10 janvier, veille du 11/1 | 11/1 - 1 | 3, 10, 17, 24, 31 |
| Février bissextile | 1er février | 28 jours avant le "0 mars" | 1, 8, 15, 22, 29 |
| Février bissextile | 22 février | 22/2 | 1, 8, 15, 22, 29 |
| Février commun | "0 février" | 28 jours avant le "0 mars" | 7, 14, 21, 28 |
| Février commun | 21 février | 22/2 - 1 | 7, 14, 21, 28 |
| Février | 14 février, tombe le jour clé en année commune et la veille du jour clé en année bissextile | | |
| Mars | "0 mars" | Dernier jour de février | 7, 14, 21, 28 |
| Mars | 21 mars | Date de référence pour Pâques | 7, 14, 21, 28 |
| Avril | 4 avril | 4/4 | 4, 11, 18, 25 |
| Mai | 9 mai (lendemain du 8 mai et du 1er mai) | 9/5 ("de 9h à 5h" ...) | 2, 9, 16, 23, 30 |
| Juin | 6 juin | 6/6 | 6, 13, 20, 27 |
| Juillet | 11 juillet | 11/7 (".. au Seven Eleven") | 4, 11, 18, 25 |
| Juillet | 4 juillet (fête de l'Indépendance américaine) | Une semaine avant 11/7 | 4, 11, 18, 25 |
| Août | 8 août | 8/8 | 1, 8, 15, 22 |
| Août | 15 août, fête de l'Assomption | Une semaine après 8/8 | 1, 8, 15, 22 |
| Septembre | 5 septembre | 5/9 ("de 9h à 5h ...") | 5, 12, 19, 26 |
| Octobre | 10 octobre | 10/10 | 3, 10, 17, 24, 31 |
| Octobre | 31 octobre, Halloween | Halloween et le jugement dernier | 3, 10, 17, 24, 31 |
| Novembre | 7 novembre | 7/11 ("... au Seven-Eleven") | 7, 14, 21, 28 |
| Décembre | 12 décembre | 12/12 | 5, 12, 19, 26 |

Avec l'habitude, chacun peut situer les dates importantes pour soi par rapport au jour clé. Par exemple:

* la Saint-Valentin (déjà citée) tombe le jour clé en année commune, la veille du jour clé en année bissextile,
* le 1er et le 8 mai tombent la veille du jour clé,
* le 14 juillet tombe 3 jours après,
* le 15 août, déjà cité, tombe le jour clé,
* le 11 novembre tombe 4 jours après,
* Noël tombe la veille du jour clé, et il en est de même pour le jour de l'an suivant.

## Étapes du calcul

Dans ce qui suit, on appelle "rang" d'un élément d'une suite son ordre en considérant que 0 est l'ordre du premier élément.

Par exemple le rang de mardi est 2 dans la série de la semaine traditionnelle, où le premier jour, dimanche, a pour rang 0.

Cette définition est utile parce que le rang est obtenu en tant que reste d'une division euclidienne.

### Décomposition de l'année

L'année A, réputée positive, est décomposée en siècle et partie infraséculaire :

A = S + X, où 0 ≤ X < 100.

### Les balises de siècle du calendrier grégorien

Le cycle des dates et des jours de semaine du calendrier grégorien se reproduit à l'identique tous les 4 siècles. Il suffit donc de retenir les rangs de jour clé correspondant aux restes de la division du rang de siècle par 4.

Balise selon le rang de siècle :

| Rang de siècle | 0 | 1 | 2 | 3 |
| - | - | - | - | - |
| Exemples | 1600 2000 | 1700 2100 | 1800 2200 | 1900 2300 |
| Balise de siècle | 2 | 0 | 5 | 3 |

On observe que la balise diminue de 2 modulo 7 chaque siècle à l'intérieur du cycle. En revanche, elle ne diminue que d'une unité lors d'une année multiple de 400, comme l'an 2000.

Si par exemple l'on cherche le jour de semaine du décès de Cervantès, le 23 avril 1616 du calendrier grégorien, la balise de siècle est 2.

### Les balises de siècle du calendrier julien

Chaque siècle, la balise diminue d'une unité modulo 7. Au Ier siècle, c'est-à-dire au siècle de rang 0, la balise est 0. Donc la balise du siècle de rang S est (-S) mod 7.

Si par exemple l'on cherche le jour de semaine du décès de Shakespeare, le 23 avril 1616 du calendrier julien, la balise de siècle est (-16) mod 7, c'est-à-dire (-2) mod 7, soit 5.

### Ajout de la partie infraséculaire - méthode originale de John Conway

John Conway décompose la partie infraséculaire du siècle en base 12, puis compte le nombre d'années bissextiles dans le reste de cette division.

X = 12 * Z + R, où 0 ≤ R < 12.

B = R div 4

Le jour clé de l'année est la somme (jour_balise + Z + R + B) modulo 7.

Cette méthode fonctionne parce que, à l'intérieur d'un siècle, le jour clé augmente d'un jour en douze ans, d'un jour chaque année, et d'un jour supplémentaire chaque année bissextile.

Ainsi pour 1616 grégorien, le jour clé est : 2 (balise de siècle) + 1 (16 div 12) + 4 (reste de la division précédente) + 1 (nombre d'années bissextiles entre 12 et 16) = 8 mod 7 = 1, lundi.

Et pour 1616 julien, le jour clé est : 5 (balise de siècle) + 1 + 4 + 1 = 11 mod 7 = 4, jeudi.

John Conway suggère de placer mentalement les quatre termes de la formule sur les quatre derniers doigts d'une main, puis de calculer le somme en plaçant successivement son pouce sur ces quatre doigts.

### Identification du jour pivot du même mois

On cherche ensuite un jour pivot dans le mois de la date cherchée. Par exemple, pour le 23 avril, le jour pivot est le 4 avril.

Ce jour pivot tombe le jour clé de l'année. Il suffit alors de chercher le jour de semaine de la date cherchée par différence avec le jour pivot.

Exemples :

* En calendrier grégorien, le jour-clé de 1616 est lundi, donc le 4 avril tombe lundi, le 25 avril aussi, et le 23 avril 1616 est donc samedi, jour du décès de Cervantès.
* En calendrier julien, le jour clé de 1616 est jeudi, le 4 avril tombe donc jeudi, de même le 25 avril, et le 23 avril 1616 est mardi, jour du décès de Shakespeare.

Cette gymnastique est aisée pour tous ceux qui peuvent déduire mentalement le jour de semaine d'une date d'un mois connaissant le jour de semaine d'une autre date du même mois.

### Variante pour la partie infraséculaire - méthode 11 sur impair

La méthode 11 sur impair — appelée en anglais Odd + 11 — est une variante pour le calcul de la partie infraséculaire, c'est-à-dire les trois derniers doigts de la méthode originale de Conway. Elle a été publiée par Chamberlain Fong and Michael K. Walters au 7e Congrès International de Mathématiques Industrielles et Appliquées (7th International Congress on Industrial and Applied Mathematics (2011)).

L'intérêt de cette méthode est de remplacer les calculs de Z, R et B supra par une suite de deux opérations très simples.

En calcul mental, on cherche à évaluer T, le jour-clé recherché, de la manière suivante:

* Soit T la partie infraséculaire de l'année (les deux derniers chiffres)
* Si T est impair, lui ajouter 11 : T = T + 11.
* Diviser T par 2 : T = T/2
* Si T est impair, ajouter 11 : T = T + 11
* Rechercher le reste de la division de -T par 7 : T = (-T) mod 7.
* Ajouter la balise de siècle pour obtenir le jour clé de l'année, modulo 7.

Reprenons notre exemple de 1616. On considère 16, la partie infraséculaire.

* T = 16
* 16 est pair, on ne fait rien.
* 16 div 2 → 8.
* 8 est pair, on ne fait rien.
* (-8) mod 7 → 6
* Ajouter 6 à la balise de siècle et prendre le résultat modulo 7.

Avec le calendrier grégorien, il vient 2 + 6 = 8 = 1 mod 7, lundi.

Avec le calendrier julien, il vient 5 + 6 = 11 = 4 mod 7, jeudi.

Les valeurs pour lesquelles on cherche le reste de la division par 7 sont toujours inférieures à 70, en sorte qu'il suffit de chercher dans la table de multiplication par 7 la différence entre T et le produit immédiatement supérieur ; dans l'exemple ci-dessus, on compare 8 à 14 pour obtenir 6. C'est la seule partie délicate de la méthode.

## Lien avec d'autres clés annuelles pour le calcul du jour de semaine

Le tableau suivant résume les liens entre

* le "clavedi" ou jour clé pour la méthode de Conway,
* la lettre dominicale, ou la deuxième lettre dominicale dans le cas d'une année bissextile,
* le jour de semaine du 1er octobre, qui est aussi le jour de semaine du premier janvier en année commune, utilisé notamment dans la méthode exposée par Lewis Carroll.

Jour-clé, lettre dominicale, jour de semaine du 1er octobre :

| Jour clé | Lettre dominicale année commune | Lettres dominicales année bissextile | Jour de semaine du 1er octobre |
| - | - | - | - |
| 0 - dimanche | C | DC | vendredi |
| 1 - lundi | B | CB | samedi |
| 2 - mardi | A | BA | dimanche |
| 3 - mercredi | G | AG | lundi |
| 4 - jeudi | F | GF | mardi |
| 5 - vendredi | E | FE | mercredi |
| 6 - samedi | D | ED | jeudi |

## Exemples

Ces exemples utilisent tous la méthode "11 sur impair".

### Epoque contemporaine

John Conway suggère de connaître par cœur les balises de siècles de 1900 (3) et 2000 (2), pour couvrir rapidement les cas les plus courants.

**Armistice du 11 novembre 1918**

* 18 est pair, → 18.
* 18 div 2 → 9.
* 9 est impair, donc 9+11 → 20.
* 20 = 3*7 - 1, donc il faut retenir 1.
* Le jour clé de 1918 est donc 3 + 1 → 4, soit jeudi.
* Le 7 novembre 1918, jour pivot, est un jeudi, et le 11 novembre, 4 jours plus tard, un lundi.

**Eclipse solaire du 11 août 1999**

* 99 est impair, donc 99 + 11 → 110.
* 110 div 2 → 55.
* 55 est impair, donc 55 + 11 → 66.
* 66 = 10*7 - 4, donc on retient 4.
* Le jour clé de 1999 est donc 3+4 = 7 → 0, dimanche.
* Le 8 août 1999, jour pivot, est dimanche, le 11 août 1999 est mercredi.

**Eclipse solaire prévue le 17 février 2026**

* 26 est pair, → 26
* 26 div 2 → 13
* 13 est impair, donc 13 + 11 → 24
* 24 = 4*7 -4 → 4
* Le jour clé de 2026 est donc 2 + 4 → 6, soit samedi.
* Le dernier jour de février, jour pivot, est le 28 (année commune), c'est un samedi, le 14 février aussi, donc le 17 février 2026 est un mardi.

### Julien et grégorien

**Passage de l'Angleterre au calendrier grégorien, le 14 septembre 1752**

* 52 est pair, → 52.
* 52 div 2 → 26.
* 26 est pair → 26.
* 26 = 4*7 - 2, donc → 2
* La balise de siècle de 1700 grégorien est 0, donc le jour clé de 1752 grégorien est 0 + 2, mardi.
* Le 5 septembre 1752 grégorien, jour pivot, est un mardi, le 14 septembre 1752 grégorien est alors jeudi.

**Dernier jour du calendrier julien en Angleterre, le 2 septembre 1752**

* La partie infraséculaire est la même que précédemment, 2.
* La balise de siècle est (-17) mod 7 → 4
* Le jour clé de 1752 julien est 2 + 4 → 6, samedi.
* Le 5 septembre 1752 julien, jour pivot, est un samedi, le 2 septembre 1752 julien est mercredi, veille du jeudi 14 septembre grégorien.
