Doomsday-algoritme

Uit Wikikids
Naar navigatie springen Naar zoeken springen
John Conway
John Conway in 2005

Het Doomsday-algoritme is een algoritme waarmee de dag van de week berekenend kan worden. De methode is bedacht door John Conway in 1973.

Berekening

Stap 1

Bereken hoe vaak het getal 12 als geheel in de laatste 2 cijfers van het jaartal past.

Voorbeeld: 29 januari 2006 (De dag dat Wikikids bedacht is). Het getal 12 past 0 keer in 06. De uitkomst is dus 0.

Stap 2

Bereken het verschil tussen 12 × het getal van stap 1 en de laatste 2 cijfers van het jaartal.

Voorbeeld (29 januari 2006): Het verschil tussen 12 × 0 en 06 is 6.

Stap 3

Bereken hoe vaak het getal 4 als geheel in de uitkomst van stap 2 past.

Voorbeeld (29 januari 2006): 4 past 1 keer in het getal 6. De uitkomst is dus 1.

Stap 4

Vind de ankerdag van de eeuw. In de tabel hieronder zie je welke ankerdag er bij welke eeuw hoort. Het is handig als je deze tabel uit je hoofd leert als je deze methode vaker wil gaan gebruiken.

1800-1899 1900-1999 2000-2099 2100-2199
Vrijdag Woensdag Dinsdag Zondag

Deze cyclus herhaalt zich, dus voor 2200-2299 is de ankerdag vrijdag. En voor 1700-1799 is de ankerdag zondag.

Bereken nu het nummer van de ankerdag met behulp van de onderstaande tabel, waarbij het weer handig is om deze uit je hoofd te leren als je deze methode vaker wilt gebruiken.

Maandag Dinsdag Woensdag Donderdag Vrijdag Zaterdag Zondag
1 2 3 4 5 6 0

Voorbeeld (29 januari 2006): 2006 zit in de eeuw 2000-2099 dus de ankerdag is dinsdag. Het getal van dinsdag is 2.

Stap 5

Tel de uitkomsten van stap 1 t/m stap 4 op.

Voorbeeld (29 januari 2006): 0 + 6 + 1 + 2 = 9

Stap 6

Trek van de uitkomst van stap 5 zo vaak mogelijk 7 af. De uitkomst van deze berekening noemen we de doomsday van dat jaar (gebruik hiervoor de tweede tabel van stap 4).

Voorbeeld (29 januari 2006): 9 - 7 is 2. Van 2 kan je geen 7 meer aftrekken. De doomsday van 2006 is dus dinsdag.

Stap 7

Nu je de doomsday van het betreffende jaar weet, kun je verder gaan rekenen naar de datum waarvan je de dag wilt weten. Hiervoor gebruiken we een aantal data. Deze data vallen allemaal, ongeacht het jaar, op de doomsday die je net hebt berekend.

  • 3 januari (4 januari in schrikkeljaren)
  • 28 februari (29 februari in schrikkeljaren)
  • 14 maart
  • 4 april
  • 9 mei
  • 6 juni
  • 11 juli
  • 8 augustus
  • 5 september
  • 10 oktober
  • 7 november
  • 12 december

Om te berekenen of een jaar een schrikkeljaar is, kijk je of je de laatste 2 cijfers van het jaartal door 4 kan delen. Zo ja, dan is het een schrikkeljaar. Als je het jaartal door 100 kan delen, is het geen schrikkeljaar, behalve als je het ook door 400 kan delen.

Nu ga je kijken welk van de bovenstaande data het dichtst ligt bij de datum waarvan je de dag wilt weten. Vanaf die datum reken je verder of terug naar jouw datum.

Voorbeeld (29 januari 2006): 2006 is geen schrikkeljaar, want 06 kan je niet door vier delen. 3 januari ligt het dichtst bij 29 januari dus vanaf daar rekenen we verder. 3 januari was op een dinsdag (dat is de doomsday van 2006, zie stap 6). Op 10 januari is het dus ook dinsdag, want dan is het precies een week later. En op 17 januari en 24 januari ook. Vanaf 24 januari rekenen we verder. 25 januari is op een woensdag, 26 op een donderdag, 27 op een vrijdag, 28 op een zaterdag en 29 op een zondag. 29 januari 2006 viel dus op een zondag.

Afkomstig van Wikikids , de interactieve Nederlandstalige Internet-encyclopedie voor en door kinderen. "https://wikikids.nl/index.php?title=Doomsday-algoritme&oldid=894041"