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.
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 \]
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.
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 (+).
Invoer:
2
21879
62593
82527
Uitvoer:
21879
62593
37406
82527
+ 17472
=======
221877