Créons un mappage simple et surjectif des entiers positifs aux entiers gaussiens , qui sont des nombres complexes dans lesquels les parties réelle et imaginaire sont des entiers.
Par exemple, pour un entier positif 4538
, exprimez-le en binaire sans interligne 0
:
4538 base 10 = 1000110111010 base 2
Supprimez tous les éléments suivants 0
:
100011011101
Remplacez les exécutions d'un ou plusieurs 0
par un seul +
:
1+11+111+1
Remplacez tout 1
par i
des:
i+ii+iii+i
Evaluez l'expression complexe résultante et générez le nombre entier gaussien simplifié:
i+ii+iii+i = i+i*i+i*i*i+i = 2i+i^2+i^3 = 2i+(-1)+(-i) = -1+i
La sortie peut être exprimée de manière mathématique traditionnelle ou sous forme de deux entiers distincts pour les parties réelle et complexe. Pour l' 4538
exemple, n'importe lequel d'entre eux serait bien:
-1+i
i-1
-1+1i
(-1, 1)
-1 1
-1\n1
Pour les entrées 29
telles que 0
, les sorties au format mathématique telles que,, 0i
ou 0+0i
sont correctes .
Utiliser j
(ou autre chose) à la place de i
est acceptable si cela est plus naturel pour votre langue.
Le code le plus court en octets gagne.
4+2j
->100+10j
...