Creiamo una mappatura semplice e suriettiva da numeri interi positivi a numeri interi gaussiani , che sono numeri complessi in cui le parti reali e immaginarie sono numeri interi.
Dato un numero intero positivo, ad esempio 4538
, esprimilo in binario senza nessun carattere iniziale 0
:
4538 base 10 = 1000110111010 base 2
Rimuovi eventuali tracce 0
:
100011011101
Sostituisci tutte le esecuzioni di uno o più 0
con una singola +
:
1+11+111+1
Sostituisci tutto 1
con i
:
i+ii+iii+i
Valuta l'espressione complessa risultante e visualizza l'intero intero gaussiano semplificato:
i+ii+iii+i = i+i*i+i*i*i+i = 2i+i^2+i^3 = 2i+(-1)+(-i) = -1+i
L'output può essere espresso in un modo matematico tradizionale o dato come due numeri interi separati per le parti reali e complesse. Per l' 4538
esempio, uno di questi andrebbe bene:
-1+i
i-1
-1+1i
(-1, 1)
-1 1
-1\n1
Per gli ingressi come 29
, uscite Mathy formattati come 0
, 0i
o 0+0i
sono tutti bene.
Usare j
(o qualcos'altro) invece di i
va bene se è più naturale per la tua lingua.
Vince il codice più breve in byte.
4+2j
->100+10j
...