Modificateurs de filtre anti-abus, Bureaucrates, Administrateurs d’interface, Exemptés de blocage IP, Administrateurs
31 361
modifications
DavidL (discussion | contributions) Modificateurs de filtre anti-abus, Bureaucrates, Administrateurs d’interface, Exemptés de blocage IP, Administrateurs 31 361 modifications →Méthode 1 : Correction de la mauvaise traduction de l'algo original en C qui fonctionne bien |
|||
Ligne 13 :
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 en C s'écrit :
<syntaxhighlight lang="C">
(d+=m<3?y--:y-2,23*m/9+d+4+y/4-y/100+y/400)%7
</syntaxhighlight>
Comme Mike Keith est un mathématicien américain,
L'algorithme traduit les formules mathématiques suivantes :
Si m < 3 :
:<math>wd = \left\lfloor \frac{23 \times m}{9} \right\rfloor + d + 4 + y + \left\lfloor \frac{y - 1}{4} \right\rfloor - \left\lfloor \frac{y - 1}{100} \right\rfloor + \left\lfloor \frac{y - 1}{400} \right\rfloor</math>
Sinon :
▲Comme Mike Keith est un mathématicien américain, D = Day pour Jour ; M = Month pour Mois et Y = Year pour Année.
:<math>wd = \left\lfloor \frac{23 \times m}{9} \right\rfloor + d + 2 + y + \left\lfloor \frac{y}{4} \right\rfloor - \left\lfloor \frac{y}{100} \right\rfloor + \left\lfloor \frac{y}{400} \right\rfloor</math>
Pour l'explication de la division par 100 et par 400, c'est pour savoir si l'année est bissextile :
Ligne 94 ⟶ 99 :
13 mars 1998 = un Vendredi 13 !
|