Accéder au contenu principal

Calculer la date de Pâques pour n’importe quelle année

Établie au concile de Nicée en 325, la date officielle du dimanche de Pâques sert de référence pour fixer les dates de plusieurs jours fériés. En France, il y a le lundi de Pâques (i.e. le lendemain), le jeudi de l’Ascension (39 jours après) et le lundi de Pentecôte (50 jours après) ; aux États-Unis, le Good Friday tombe le vendredi qui précède le dimanche de Pâques (soit deux jours avant). Problème : calculer la date de Pâques est affreusement compliqué.

Fort heureusement, quelques brillants esprits s'y sont collés avant nous et nous ont livré des algorithmes capables de déterminer cette date précisément, sans avoir recours aux redoutables méthodes canoniques que je vous laisse découvrir par vos propres moyens. Je vous propose ci-dessous la méthode dite de Butcher [1] codée sous R : elle permet, pour n’importe quelle année, de trouver la date du dimanche de Pâques dans le calendrier Grégorien.

EasterSunday = function(year) {
 a <- year%%19
 b <- floor(year/100)
 c <- year%%100
 d <- (19*a+b-floor(b/4)-floor((b-floor((b+8)/25)+1)/3)+15)%%30
 e <- (32+2*(b%%4)+2*floor(c/4)-d-c%%4)%%7
 f <- floor((a+11*d+22*e)/451)
 month <- floor((d+e-7*f+114)/31)
 day <- (d+e-7*f+114)%%31+1
 Date(year, month, day)
}

Notez que la fonction Date utilisée ci-dessus est aussi de moi. Voici le code :

Date = function(year, month, day) {
 m <- formatC(month, width = 2, flag = "0")
 d <- formatC(day, width = 2, flag = "0")
 as.Date(paste(year, m, d, sep = "-"))
}

Vous pouvez ainsi vérifier que :

> EasterSunday(2017)
[1] "2017-04-16"
>

Elle fonctionne aussi avec des vecteurs :

> EasterSunday(1515:1518)
[1] "1515-04-11" "1516-04-02" "1517-04-22" "1518-04-07"
> 

For English-speaking readers: this is an R function to compute the date of Easter Sunday in the Gregorian calendar for any given year using Butcher’s algorithm.

---
[1] Cet algorithme a été publié en 1876 par un auteur inconnu dans Nature ; C'est donc Samuel Butcher, évêque de Meath qui a démontré qu’elle est exacte en 1877, qui lui donne son nom.

Commentaires

Posts les plus consultés de ce blog

Brandolini’s law

Over the last few weeks, this picture has been circulating on the Internet. According to RationalWiki, that sentence must be attributed to Alberto Brandolini, an Italian independent software development consultant [1]. I’ve checked with Alberto and, unless someone else claims paternity of this absolutely brilliant statement, it seems that he actually is the original author. Here is what seems to be the very first appearance of what must, from now on, be known as the Brandolini’s law (or, as Alberto suggests, the Bullshit Asymmetry Principle):The bullshit asimmetry: the amount of energy needed to refute bullshit is an order of magnitude bigger than to produce it.— ziobrando (@ziobrando) 11 Janvier 2013To be sure, a number of people have made similar statements. Ironically, it seems that the “a lie can travel halfway around the world while the truth is still putting on its shoes” quote isn’t from Mark Twain but a slightly modified version of Charles Spurgeon’s “a lie will go round the w…

Le salaire minimum à 15 dollars de Seattle

En général, la (fonction de densité de la) distribution des salaires ressemble à quelque chose comme ça : C’est-à-dire que relativement peu de gens touchent des salaires très bas (à gauche de la distribution), la plupart perçoivent un salaire proche du salaire médian (au milieu) et, plus on monte dans l’échelle des rémunérations (vers la droite), plus ça devient rare. Sur un graphique de ce type, le P.-D.G. d'une société du CAC 40 ou un joueur international de football se promènent à quelques dizaines de centimètres à droite de votre écran mais ces cas sont si exceptionnels que le trait bleu est invisible à l’œil nu.Le point MinW indique le niveau du salaire minimum légal. À gauche de ce point, en rouge, vous trouvez toutes les personnes dont le travail vaut moins que le salaire minimum. Typiquement, ce sont des gens peu qualifiés, peu expérimentés et même souvent les deux. C’est-à-dire qu’étant donné le niveau du salaire minimum, ces gens-là sont tout simplement inemployables. C&#…

Un garçon qui n’a jamais eu de métier

Jean-Luc Mélenchon fait ses premières armes en politique à Lons-le-Saunier, en mai 1968. À cette époque il n’est que lycéen — en première littéraire — mais c’est lui, racontent ses anciens camarades de classe, qui va importer les évènements parisiens dans son Jura d’adoption. C’est lors de cette première expérience politique qu’il va réaliser son indiscutable talent d’orateur et se familiariser avec la pensée d’extrême gauche et notamment Karl Marx qui devient son livre de chevet en terminale. Il passe son bac en 1969 et s’inscrit à la faculté des lettres de l’université de Besançon pour y étudier la philosophie.Sitôt inscrit, le jeune Mélenchon se rapproche de l’UNEF et déserte les amphis pour se consacrer au militantisme. Il parviendra quand même à obtenir sa licence en 1972 mais ne poussera pas ses études plus loin : la même année, il rentre formellement en politique en rejoignant l’Organisation Communiste Internationaliste (OCI), une organisation trotskyste de tendance lambertiste…