Uit het dagboek van Lewis Carroll1 op 5 februari 1856:

Op school een beetje variatie in de les gestopt met een verhaaltje waarin een aantal sommen moesten uitgewerkt worden. Ik deed ook een trucje door het resultaat van een optelsom al op te schrijven toen er nog maar één van de vijf getallen op het bord stond: ze vonden het vrij verbazend.

Hij was begonnen met het opschrijven van een willekeurig getal:

21879

Daarna vroeg hij zijn leerlingen om een tweede getal van vijf cijfers te geven. Carroll voegde daar een derde getal aan toe, de studenten riepen nog een vierde getal, en Caroll voegde er nog een vijfde aan toe en schreef er onmiddellijk ook het resultaat van de som onder:

  21879
  62593
  37406
  82527
+ 17472
=======
 221877

Hoe kon hij dit zo snel berekenen?

Bij het uitschrijven van het derde en het vijfde getal, schreef hij steeds het complement van 9 voor elk cijfer in het getal dat er boven stond. Als je dit doet, dan kan de som snel gevonden worden door het eerste getal te nemen, 2 af te trekken van het laatste cijfer en een 2 toe te voegen aan de voorkant van het getal.

Opgave

Dit trucje werkt ook algemeen voor $$1 + m$$ getallen $$x_0, x_1, \ldots, x_m$$, waarbij het getal $$x_0$$ bestaat uit $$n$$ cijfers en de andere getallen uit ten hoogste $$n$$ cijfers. Eerst schrijven we het getal $$x_0$$ op. Daarna schrijven we achtereenvolgens de getallen $$x_i$$ en $$c_m(x_i)$$ op voor $$i = 1, 2, \ldots, m$$. De som van deze getallen bekomen we door $$m$$ af te trekken van $$x_0$$ en vooraan de cijfers van $$m$$ toe te voegen.

In bovenstaande uitleg hebben we gebruikgemaakt van het $$n$$-complement $$c_n(x)$$ van een getal $$x \in \mathbb{N}$$, dat bekomen wordt door $$x$$ af te trekken van het natuurlijk getal dat bestaat uit $$n$$ negens. Zo is \[ c_5(62593) = 99999 - 62593 = 37406 \] en is \[ c_5(82527) = 99999 - 82527 = 17472 \]

Invoer

Een regel met een getal $$m \in \mathbb{N}$$ ($$0 \leq m < 100$$). Daarna volgen nog $$1 + m$$ regels met daarop de getallen $$x_0, x_1, x_2, \ldots, x_m \in \mathbb{N}_0$$, geschreven zonder voorloopnullen. Het getal $$x_0$$ bestaat uit $$n$$ cijfers (met $$n \geq 3$$) en de getallen $$x_1, x_2, \ldots, x_m$$ bestaan uit ten hoogste $$n$$ cijfers.

Uitvoer

De getallen $$x_0, x_1, c_n(x_1), x_2, c_n(x_2), \ldots, x_m, c_n(x_m)$$, elk op een afzonderlijke regel. Daarna volgt een regel met $$n + 2$$ gelijktekens (=) en een regel met het resultaat van de som \[ x_0 + x_1 + c_n(x_1) + x_2 + c_n(x_2) + \cdots + x_m + c_n(x_m) \]

Alle getallen moeten uitgeschreven worden zonder voorloopnullen, en moeten rechts uitgelijnd worden over $$n + 2$$ posities door indien nodig extra spaties toe te voegen aan de linkerkant. De regel met de laatste term van de som moet beginnen met een plusteken (+).

Voorbeeld

Invoer:

2
21879
62593
82527

Uitvoer:

  21879
  62593
  37406
  82527
+ 17472
=======
 221877