Liczby całkowite gaussowskie są liczbami zespolonymi w postaci a+bi
gdzie a
i b
oba są liczbami całkowitymi. W bazie -1 + i wszystkie liczby całkowite Gaussa mogą być jednoznacznie reprezentowane za pomocą cyfr 0
i 1
bez potrzeby oznaczania znaku symbolem.
Na przykład 1100
w podstawie -1 + i reprezentuje liczbę dziesiętną 2, ponieważ
1*(-1+i)^3 + 1*(-1+i)^2 + 0*(-1+i)^1 + 0*(-1+i)^0
= (2+2i) + (-2i) + 0 + 0
= 2
Wejściami będą dwie liczby całkowite Gaussa w podstawie -1 + i reprezentowane za pomocą cyfr 01
. Może to mieć jedną z następujących postaci:
- Dwa oddzielne ciągi cyfr,
- Dwie liczby całkowite dziesiętne polegające na
01
reprezentowaniu liczb podstawowych -1 + i (np.1100
Dla 2 w bazie -1 + i), - Dwie binarne liczby całkowite reprezentujące liczby podstawowe -1 + i (np. Dziesiętne
12
lub0b1100
dla 2 w bazie -1 + i) - Pojedynczy ciąg oddzielający dwucyfrowe ciągi / binarne liczby całkowite przez pojedynczy niealfanumeryczny separator (np.
1100 1100
Lub12,12
dla 2 + 2)
Wyprowadza sumę dwóch liczb całkowitych Gaussa, również w bazie -1 + i, reprezentowanych za pomocą cyfr 01
(w jednym z formatów dozwolonych jako dane wejściowe, niekoniecznie ten sam wybór). Dane wyjściowe mogą zawierać skończoną liczbę zer wiodących.
Twoja funkcja lub program musi zakończyć się w ciągu 2 sekund dla wprowadzania co najwyżej 30 cyfr.
Dodatkowe wyjaśnienia
- Możesz założyć, że dane wejściowe nie zawierają zewnętrznych zer wiodących. W specjalnym przypadku 0 możesz wybrać jeden
0
lub pusty ciąg jako reprezentację.
Przypadki testowe
0, 0 => 0 # 0 + 0 = 0
0, 1 => 1 # 0 + 1 = 1
1, 1 => 1100 # 1 + 1 = 2
1100, 1100 => 111010000 # 2 + 2 = 4
1101, 1101 => 111011100 # 3 + 3 = 6
110111001100, 1110011011100 => 0 # 42 + (-42) = 0
11, 111 => 0 # i + (-i) = 0
11, 110 => 11101 # i + (-1-i) = -1
10101, 11011 => 10010 # (-3-2i) + (-2+3i) = (-5+i)
1010100101, 111101 => 1110100000100 # (-19+2i) + (3-4i) = (-16-2i)
Dłuższe przypadki testowe:
11011011010110101110010001001, 111100010100101001001010010101 => 0
111111111111111111111111111111, 111111111111111111111111111111 => 100100100100100100100100100100
101101110111011101110111011101, 101101110111011101110111011101 => 11101001010001000100010001000100011100
100100010101001101010110101010, 100010011101001011111110101000 => 110000110010101100001100111100010
-1+i
na i-1
w tytule.