Je neemt de pendelbus naar de luchthaven en probeert een nieuwe vlucht naar je vakantie-eiland te boeken. Vanwege de storm zijn alle directe vluchten geannuleerd, maar er is een route beschikbaar om de storm te omzeilen. Je boekt die vlucht.
Terwijl je op vlucht aan het wachten bent, besluit je binnen te springen bij de Elfen van de Noordpool. Ze zijn een geheugenspelletje aan het spelen, en kunnen haast niet wachten om je de regels uit te leggen!
In dit spel zeggen de spelers om de beurt een getal. Ze beginnen om de beurt voor te lezen uit een reeks startgetallen. Daarna bestaat elke beurt er in om het getal te vinden dat volgt op het getal dat het laatste gezegd werd:
0
.Na de startgetallen komt elke beurt er dus op neer dat de speler hardop ofwel het getal 0
zegt (als het laatste getal nieuw was) of een leeftijd (als het laatste getal een herhaling was).
Stel bijvoorbeeld dat de startgetallen 0,3,6
zijn:
0
.3
.6
.6
. Omdat het de eerste keer was dat dit getal gezegd werd, is het 4
-de getal dat gezegd wordt 0
.0
. Omdat het wel al eerder gezegd werd, is het volgende getal dat gezegd wordt het verschil tussen het nummer van de beurt toen het voor het laatst gezegd werd (de vorige beurt: 4
) en het nummer van de beurt toen het daarvoor laatste gezegd werd (beurt 1
). Het 5
-de getal dat gezegd wordt is dus 4 - 1
, 3
.3
) is daarvoor ook al gezegd, het meest recent in beurten 5
en 2
. Het 6
-de getal dat gezegd wordt is dus 5 - 2
, 3
.3
net twee keer na elkaar gezegd werd, en de laatste twee beurten één beurt uit elkaar liggen, is het 7
-de getal dat gezegd wordt 1
.1
nieuw is, is het 8
-e getal dat gezegd wordt 0
.0
werd laatst gezegd in beurten 8
en 4
, waardoor het 9
-de getal dat gezegd wordt het verschil daartussen is, 4
.4
is nieuw, dus is het 10
-de getal dat gezegd wordt 0
.(Het spel eindigt wanneer de Elfen het spelen beu worden of het avondeten klaar is, wat het eerst komt.)
Hun vraag voor jou is: wat is het 2020
e getal dat zal gezegd worden? In het bovenstaande voorbeeld is het 2020
e getal dat gezegd wordt 436
.
Hier zijn nog een paar voorbeelden:
1,3,2
is het 2020
e getal dat gezegd wordt 1
.2,1,3
is het 2020
e getal dat gezegd wordt 10
.1,2,3
is het 2020
e getal dat gezegd wordt 27
.2,3,1
is het 2020
e getal dat gezegd wordt 78
.3,2,1
is het 2020
e getal dat gezegd wordt 438
.3,1,2
is het 2020
e getal dat gezegd wordt 1836
.Gegeven een reeks startgetallen, wat is het 2020
e getal dat zal gezegd worden? Hiervoor ga je als volgt te werk:
recitation
waaraan een reeks startgetallen (char*
) moet doorgegeven worden. De functie moet het 2020
e getal (int
) teruggeven dat zal gezegd worden.> recitation("0,3,6")
436
> recitation("1,3,2")
1
> recitation("2,1,3")
10
> recitation("1,2,3")
27
> recitation("2,3,1")
78
> recitation("3,2,1")
438
> recitation("3,1,2")
1836