Stwórzmy proste, przejmujące odwzorowanie od liczb całkowitych dodatnich do liczb całkowitych Gaussa , które są liczbami zespolonymi, w których rzeczywistymi i urojonymi częściami są liczby całkowite.
Na przykład 4538
, biorąc pod uwagę dodatnią liczbę całkowitą, wyraż ją binarnie, bez wiodących 0
:
4538 base 10 = 1000110111010 base 2
Usuń wszystkie końcowe 0
:
100011011101
Zamień dowolne przebiegi jednego lub więcej 0
na jedno +
:
1+11+111+1
Wymień wszystkie 1
„sz i
” s:
i+ii+iii+i
Oceń wynikowe złożone wyrażenie i wyprowadź uproszczoną liczbę całkowitą Gaussa:
i+ii+iii+i = i+i*i+i*i*i+i = 2i+i^2+i^3 = 2i+(-1)+(-i) = -1+i
Dane wyjściowe można wyrazić w tradycyjny sposób matematyczny lub podać jako dwie oddzielne liczby całkowite dla części rzeczywistej i złożonej. Na 4538
przykład dowolne z nich byłoby w porządku:
-1+i
i-1
-1+1i
(-1, 1)
-1 1
-1\n1
Do surowców jak 29
, MATHY sformatowane wyjść, na przykład 0
, 0i
czy 0+0i
to wszystko jest w porządku.
Używanie j
(lub czegoś innego) zamiast i
jest w porządku, jeśli jest to bardziej naturalne dla twojego języka.
Najkrótszy kod w bajtach wygrywa.
4+2j
->100+10j
...