Lassen Sie uns eine einfache, surjektive Zuordnung von positiven Ganzzahlen zu Gaußschen Ganzzahlen erstellen , bei denen es sich um komplexe Zahlen handelt, bei denen der Real- und Imaginärteil Ganzzahlen sind.
Wenn Sie zum Beispiel eine positive Ganzzahl haben 4538, drücken Sie sie in Binärform ohne führende 0Zeichen aus:
4538 base 10 = 1000110111010 base 2
Entfernen Sie alle folgenden 0Elemente:
100011011101
Ersetzen Sie alle Läufe von einem oder mehreren 0durch einen einzigen +:
1+11+111+1
Ersetzen Sie alle 1durch i's:
i+ii+iii+i
Bewerten Sie den resultierenden komplexen Ausdruck und geben Sie die vereinfachte Gaußsche Ganzzahl aus:
i+ii+iii+i = i+i*i+i*i*i+i = 2i+i^2+i^3 = 2i+(-1)+(-i) = -1+i
Die Ausgabe kann auf herkömmliche mathematische Weise ausgedrückt oder als zwei separate Ganzzahlen für den Realteil und den komplexen Teil angegeben werden. Für das 4538Beispiel wäre eines dieser Beispiele in Ordnung:
-1+i
i-1
-1+1i
(-1, 1)
-1 1
-1\n1
Für Eingänge , wie 29, mathy formatiert Ausgänge wie 0, 0ioder 0+0isind alle in Ordnung.
Verwenden j(oder etwas anderes) anstelle von iist in Ordnung, wenn dies für Ihre Sprache natürlicher ist.
Der kürzeste Code in Bytes gewinnt.
4+2j->100+10j...