jeromax Administrateur

Inscrit le: 16 Mai 2005 Messages: 665 Localisation: Nantes
|
Posté le: 18/11/2009 10:36 Sujet du message: Deviner le jour de la semaine d’une date sans calendrier |
|
|
Je viens de trouver un petit truc bien sympa qui vous fera passer pour un bon autiste surdoué auprès de vos potes:
Je copie la méthode simplifiée afin que celle-ci reste même si ces blogs disparaissent:
Comment deviner le jour de la semaine d’une date sans calendrier?
Le jour de la semaine d’une date se détermine grâce à cette simple formule mathématique :
| Code: | | [jour de la semaine] = (codeannée + codemois + jour) mod 7 |
Les codes du mois
Les codes du mois ne suivent aucune logique, il faut les mémoriser. vous pouvez trouver des moyens mnémotechnique pour le faire, voici ces codes :
* Janvier: 1
* Février: 4
* Mars: 4
* Avril: 0
* Mai: 2
* Juin: 5
* Juillet: 0
* Août: 3
* Septembre: 6
* Octobre: 1
* Novembre: 4
* Décembre: 6
Les codes de l'année
Nous aurons également besoin des codes de l’année, qui ont l’air également arbitraires. Mais vous ne devez pas trop vous en soucier pour l’instant. Voici ceux que vous serez amenés à utiliser le plus couramment :
* 2007 : 0
* 2008 : 2
* 2009 : 3
* 2010 : 4
* 2011 : 5
* 2012 : 0
Les jours de la semaine
Le résultat de la formule sera toujours un nombre entre 0 et 6, et leur interprétation est très simple :
* 1 : Dimanche; 1er jour de la semaine
* 2 : Lundi; 2nd jour de la semaine, etc.
* 3 : Mardi
* 4 : Mercredi
* 5 : Jeudi
* 6 : Vendredi
* 0 : Samedi
Le calcul
Un exemple pour le 25 Décembre 2010.
Etape 1 : Récupérer les codes du mois et de l’année. D’après les tables, Décembre corresponds au chiffre 6 et 2010 corresponds au chiffre 4.
Etape 2 : Appliquer les nombres à la formule :
1. [jour de la semaine] = (codeannée + codemois + jour) mod 7
2. [jour de la semaine] = (4 + 6 + 25) mod 7
3. [jour de la semaine] = 35 mod 7; cf plus loin si vous ne connaissez pas l’opération ‘mod’
4. [jour de la semaine] = 0
0 signifie Samedi. C’est le jour de la semaine pour le 25 Décembre 2010.
Ajustement pour les années bissextiles
Lorsque c'est une années bisextile, il faut soustraire 1 au résultat pour les mois de Janvier et Février. Les autres mois étant calculés comme dans une année normale.
Extension de la méthode à n’importe quelle année
Pour un usage pratique, on peut très bien se limiter au code de l’année courante. Quand une nouvelle année arrive et qu’on a besoin de son code, il est assez facile de le trouver : déterminez d’abord le jour du 31 Décembre de l’année courante, ajoutez 1, et vous aurez le jour de la semaine du 1er Janvier de la nouvelle année. A partir de là, la seule variable qui manque dans la formule est le code année, sans oublier d’ajuster en cas d’année bissextile.
Par ailleurs, si vous êtes un vrai mordu et que vous voulez déterminer mentalement le jour de n’importe quelle année, vous aurez besoin de roder un peu plus vos capacités en mémorisation et en calcul mental.
Voici la formule pour l’année :
| Code: | | codeannée = (codesiècle + [deux derniers chiffres de l'année] + ([deux derniers chiffres de l'année] div 4)) mod 7 |
Div est l’operateur pour la division entière. De même que mod prends le reste de la division, div prends son quotient entier. Par exemple, 17 div 7 = 2 (avec un reste de 3).
Les codes de siècles suivent un modèle récurrent et peuvent être utilisés pour n’importe quelle date du calendrier Grégorien :
1600s: 6
1700s: 4
1800s: 2
1900s: 0
2000s: 6; et on répète le modèle
2100s: 4; 6-4-2-0 encore et encore…
Et voila, vous pouvez maintenant épater la galerie !
Source: Comment deviner le jour de la semaine d’une date sans calendrier du blog http://ceclair.fr/ qui est lui même une traduction de How to become a human calendar
|
|