Цілі числа Гаусса - це складні числа форми, a+bi
де a
і b
є обидва цілі числа. У базі -1 + i всі цілі числа Гаусса можна однозначно представити за допомогою цифр 0
і 1
без необхідності символу для позначення знаку.
Наприклад, 1100
у базі -1 + i є десяткове число 2, оскільки
1*(-1+i)^3 + 1*(-1+i)^2 + 0*(-1+i)^1 + 0*(-1+i)^0
= (2+2i) + (-2i) + 0 + 0
= 2
Вхідними даними будуть два цілі числа Гаусса в базі -1 + i, представлені за допомогою цифр 01
. Це може мати одну з таких форм:
- Дві окремі рядкові рядки,
- Два десяткових цілих числа, що складаються з
01
числа базових -1 + i чисел (наприклад,1100
для 2 у базовій -1 + i), - Два двійкові цілі числа, що представляють базові числа -1 + i (наприклад, десятковий
12
або0b1100
для 2 у базовій -1 + i) - Один рядок, що розділяє двоцифрові рядки / двійкові цілі числа єдиним не буквено-цифровим роздільником (наприклад,
1100 1100
або12,12
для 2 + 2)
Виведіть суму двох цілих чисел Гаусса, також у базі -1 + i та представлені за допомогою цифр 01
(в одному з форматів, дозволених як введення, не обов'язково одного вибору). Вихід може містити кінцеву кількість провідних нулів.
Ваша функція або програма повинні припинитись протягом 2 секунд для введення не більше 30 цифр кожен.
Додаткові роз'яснення
- Ви можете припустити, що вхід не містить сторонніх нульових нулів. Для особливого випадку 0 ви можете обрати будь-який
0
або порожній рядок як представлення.
Тестові справи
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)
Більш тривалі випробування:
11011011010110101110010001001, 111100010100101001001010010101 => 0
111111111111111111111111111111, 111111111111111111111111111111 => 100100100100100100100100100100
101101110111011101110111011101, 101101110111011101110111011101 => 11101001010001000100010001000100011100
100100010101001101010110101010, 100010011101001011111110101000 => 110000110010101100001100111100010
-1+i
в i-1
в назві.