Een team van elven haalt je thuis op met behulp van een hypermoderne, motorgedreven slee. Elke slee in de kerstvloot heeft een bepaalde hoeveelheid brandstof nodig, die berekend kan worden door de massa te delen door 3, af te ronden naar beneden en te verminderen met 2. Wanneer de slee 299 kilogram weegt, levert delen door 3 na afronden 99 op, wat verminderd met 2 een totaal van 97 liter brandstof oplevert.

Bijkomende moeilijkheid is dat de brandstof zelf ook een gewicht heeft: 1 liter komt overeen met 1 kilogram. We moeten dus berekenen hoeveel extra brandstof er nodig is om de brandstof mee te nemen, en hoeveel brandstof daar weer voor nodig is. Dit blijven we doen, tot we een gewicht van 0 of minder terugvinden (negatieve gewichten worden gemapt op 0). In het voorgaande geval hebben we 97 // 3 - 2 = 30 liter extra brandstof nodig, waar 30 // 3 - 2 = 8 liter voor nodig is, waar 8 // 3 - 2 = 0 liter voor nodig is. De totale hoeveelheid brandstof voor deze slee bedraagt dus 97 + 30 + 8 + 0 = 135.

Gevraagd wordt om, gegeven een lijst van gewichten (één gewicht per slee), de totale hoeveelheid brandstof te berekenen die nodig is om de kerstvloot in de lucht te houden. Hiertoe moet de functie "brandstof" geïmplementeerd worden, die als input een lijst van positieve gehele getallen heeft, en als output een geheel getal teruggeeft. Bijvoorbeeld:

brandstof([299, 97, 1000]) # 135 + 38 + 483 = 656