13 !  MÉTHODES DE CALCUL DU JOUR DE SEMAINE
Calendrier perpétuel ArlotCalendrier perpétuel Sourya
Algorithme de KraitchikMéthode de Zeller
Méthode de GaussAlgorithme du Madras College
Doomsdays de John ConwayMéthode Moret
Algorithme de Mike KeithAlgorithme de Claus Tondering
Méthode de Lewis CarrollMéthode de Mark Dettinger
Calendrier grégorien perpétuel
Google  

Algorithme de Mike Keith

Algorithme

Dans un article publié en 1990 dans le Journal of Recrational Mathematics, Vol. 22, No. 4, 1990, p. 280, Mike Keith propose un algorithme pour la détermination du jour de la semaine correspondant à une date quelconque. Sa formule, inspirée de la congruence de Zeller et traduite en seulement 45 caractères précise-t-il, est la suivante :

(d+=m<3?y--:y-2, 23*m/9 + d + 4 + y/4 -y/100 + y/400) ÷ 7

Mike Keith déclare lui-même qu'il s'agit là de la " plus simple formule possible " pour le calcul du jour de la semaine, " la meilleure qui puisse être construite ", ajoute-t-il. Dans sa forme opérationnelle, son algorithme s'écrit :

Jour de semaine D = { [(23m)/9] + d + 4 + y + [z/4] - [z/100] + [z/400] - 2 (si m >= 3) } mod 7
où:
D = Jour de semaine   (D = 0 à 6;   0 = Dimanche, 1 = Lundi, ... , 6 = Samedi)
[x] signifie le nombre entier résultant de la division, le reste étant ignoré
m = Mois   (m = 1 à 12;   1 = Janvier, 2 = Février, 3 = Mars, ... , 12 = Décembre)     m >= 3 signifie m supérieur ou égal à 3
d = Jour   (d = 1 à 31)
y = année
z = y - 1   si m < 3
z = y        si m >= 3
Modulo 7 ou mod 7 = reste de la division par 7

Exemples

1er cas : m < 3
Le 18 janvier 1953 tombait quel jour de la semaine?
d = 18, m = 1, y = 1953 et z = y-1 = 1952;   d'où
D = { [(23x1)/9] + 18 + 4 + 1953 + [1952/4] - [1952/100] + [1952/400] } mod 7
D = (2 + 18 + 4 + 1953 + 488 - 19 + 4) mod 7
D = 2450 mod 7 = 0    car 2450 = 7 x 350 + 0
18 janvier 1953 = un Dimanche

2eme cas : m > 3
Le 2 août 1953 tombait quel jour de la semaine?
d = 2, m = 8, y = 1953 et z = y = 1953;   d'où
D = { [(23x8)/9] + 2 + 4 + 1953 + [1953/4] - [1953/100] + [1953/400] - 2 } mod 7
D = (20 + 2 + 4 + 1953 + 488 - 19 + 4 - 2) mod 7
D = 2450 mod 7 = 0    car 2450 = 7 x 350 + 0
2 août 1953 = un Dimanche

3eme cas : m = 3
Le 13 mars 1998 tombait quel jour de la semaine?
d = 13, m = 3, y = 1998 et z = y = 1998;   d'où
D = { [(23x3)/9] + 13 + 4 + 1998 + [1998/4] - [1998/100] + [1998/400] - 2 } mod 7
D = (7 + 13 + 4 + 1998 + 499 - 19 + 4 - 2) mod 7
D = 2504 mod 7 = 5    car 2504 = 7 x 357 + 5
13 mars 1998 = un Vendredi 13 !!!

Au besoin, le lecteur pourrait vérifier ses résultats de calcul du jour de la semaine au moyen de notre Calendrier pratique, du Calendrier permanent ou du Calendrier perpétuel à 12 mois.
Google  
     Tous droits réservés
Mythe du vendredi 13

MENU

ACCUEIL
6 CHAPITRES
CHAPITRE 1
CHAPITRE 2
CHAPITRE 3
CHAPITRE 4
CHAPITRE 5
CHAPITRE 6
7 ANNEXES
ANNEXE 1
ANNEXE 2
ANNEXE 3
ANNEXE 4
ANNEXE 5
ANNEXE 6
ANNEXE 7