Ctrl K

Сложение по основанию минус два

Средняя
В системе счисления с основанием -2 цифры бывают только 0 и 1, а разряды весят 1, -2, 4, -8, 16, … (степени числа -2). Так записываются и положительные, и отрицательные числа без всякого знака. Например, [1, 1, 0, 1] = -8 + 4 + 0 + 1 = -3. Даны два числа first и second в такой записи — массивы цифр от старшего разряда к младшему. Верните их сумму в той же записи. Ведущих нулей нет ни во входных данных, ни в ответе: массив либо равен [0], либо начинается с 1.
Пример 1
first=[1, 1, 0], second=[1] → [1, 1, 1]

[1, 1, 0] — это 4 - 2 + 0 = 2, [1] — это 1. Сумма 3 в системе с основанием -2 записывается как 4 - 2 + 1, то есть [1, 1, 1].

Пример 2
first=[1, 1], second=[1] → [0]

[1, 1] — это -2 + 1 = -1, плюс 1 даёт 0. Ноль записывается одним разрядом [0].

Пример 3
first=[1], second=[1] → [1, 1, 0]

1 + 1 = 2 = 4 - 2, то есть [1, 1, 0]: даже при сложении двух единиц результат удлиняется на два разряда.

Ограничения
  • 1 ≤ len(first), len(second) ≤ 1000
  • Все элементы равны 0 или 1
  • У чисел нет ведущих нулей
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПовернуть квадрат по часовой СредняяПостфиксный калькулятор СредняяПрокрутка массива вправо СредняяПростые числа до границы СредняяN-е число из заданных простых Средняя
загружаем Python…
Вход
first=[1, 1, 0], second=[1]
Ожидается
[1, 1, 1]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 90 тестов на сервере, включая скрытые.