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…

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…

Nombre d'heures travaillées par an et pour 100 personnes

Selon les données de l’OCDE pour 2015, le taux d’emploi de la population française âgée de 15 à 64 ans était de 63.8%. C’est-à-dire que sur 100 personnes en âge de travailler, un peu moins de 64 ont effectivement occupé un emploi — fût-ce à temps partiel — durant l’année considérée. Par ailleurs, selon la même source, le temps de travail annuel moyen des français qui ont travaillé en 2015 s’établissait à 1 482 heures [1].En croisant ces deux données, on peut facilement estimer le nombre d’heures de travail fournies en une année par 100 français en âge de travailler : ça fait environ 94 552 heures. Juste pour remettre ce chiffre dans son contexte, voici ce que ça donne pour tous les pays pour lesquels les données sont disponibles dans les bases de l’OCDE : Juste pour votre information, pas moins de 84.7% des islandais âgés de 15 à 64 ans travaillent (c’est le record du panel) et ils travaillent en moyenne 1 880 heures par an. Ce sont les mexicains et les coréens (du sud) qui, lorsqu’ils…