Maak een reeks van de eerste $$2n$$ positieve natuurlijke getallen, waarbij $$n \in \mathbb{N}_0$$.

1, 2, 3, 4, 5, 6, 7, 8

Splits deze getallen willekeurig over twee groepen van $$n$$ getallen, waarbij de helft van de getallen in de eerste groep gaat en de andere helft in de tweede groep.

7, 1, 6, 4
2, 8, 5, 3

Rangschik de getallen van de eerste groep in oplopende volgorde, en de getallen van de tweede groep in dalende volgorde.

1, 4, 6, 7
8, 5, 3, 2

Als je nu de som berekent van de absolute waarden van het verschil van elk paar getallen op corresponderende posities in de twee groepen, dan is die som altijd gelijk aan $$n^2$$. \[|1 - 8| + |4 - 5| + |6 - 3| + |7 - 2| = 7 + 1 + 3 + 5 = 16 = n^2\] Deze gelijkheid werd aangetoond door Vyacheslav Proizvolov.

Opgave

In deze opgave stellen we een groep getallen voor als een tuple van integers. Gevraagd wordt:

Voorbeeld

>>> splitsen(8)
((7, 1, 6, 4), (2, 8, 5, 3))
>>> splitsen(8, verschillend=False)
((4, 4, 7, 3), (7, 1, 2, 3))
>>> splitsen(3)
Traceback (most recent call last):
AssertionError: ongeldige lengte
>>> splitsen(-3, verschillend=True)
Traceback (most recent call last):
AssertionError: ongeldige lengte

>>> optellen((7, 1, 6, 4), (2, 8, 5, 3))
16
>>> optellen((4, 4, 7, 3), (7, 1, 2, 3))
13
>>> optellen((8, 3, 15), (27, 24, 5, 42))
Traceback (most recent call last):
AssertionError: groepen moeten even lang zijn