item2 item2a item2b item2c     
item1

 

Wie berechnet man das Osterdatum?

Ein Internetprovider überraschte kurz vor Ostern 2007 die Leser seiner News mit folgendem Startbeitrag:

Wussten Sie eigentlich, dass man Ostern einfach berechnen kann? Hier ist die Formel:

 
a = X mod 19, b = X mod 4, c = X mod 7, k = X div 100, 

p = (8*k + 13) div 25,

q = k div 4,

M = (15 + k - p - q) mod 30,

N = (4 + k - q) mod 7,

d = (19*a + M) mod 30,

e = (2*b + 4*c + 6*d + N) mod 7,

ostern = 22 + d + e .
 
Alles klar? X steht dabei übrigens für das Jahr. So hat Gauss den Termin für Ostern berechnet. Alle anderen Feiertage hängen davon ab.
 

Abgesehen davon, dass natürlich nicht alle, sondern nur die beweglichen Feiertage vom Osterdatum abhängen und das Ergebnis "ostern" das Märzdatum liefert, so dass bei Werten über 31 noch 31 zu subtrahieren ist, damit sich das Aprildatum ergibt, wird hier eine berühmte Methode zur Bestimmung des Osterdatums angegeben.

Ist das nicht für jeden denkfreudigen Leser eine Herausforderung, die obige Formel in ein kleines Programm (falls eine Programmiersprache verfügbar ist) oder in ein Tabellenblatt umzusetzen, welches als Ausgabe das Osterdatum liefert?

Die Funktionen mod (Divisionsrest) und div (ganzzahlig abgerundetes Divisionsergebnis) sind in den meisten Programmiersprachen verfügbar.

Bei einer Tabellenkalkulation kann man die Funktionen z.B. in folgender Weise darstellen:

  • a mod b: REST(a;b)
  • a div b: (a - REST(a;b)) / b

K-R. L.,2007-04-06

item2 item2a item2b item2c