Учитывая последовательность из 16 битов, я хочу рекурсивно инвертировать эти биты.
Например, 1001 1110 0010 0110 становится 0110 0100 0111 1001.
У меня есть доступ только к ДОБАВИТЬ, И и НЕ.
Подпрограмма принимает 2 параметра: количество битов, оставшихся для обращения, и значения битов. Возвращает результат.
Я пытаюсь придумать способы сделать это. Одна вещь, которая пришла мне в голову, - это запустить последовательность битов: 0000 0000 0000 0001, добавить к ней число оставшихся для обработки битов, оставленное -1 раза, а затем добавить эти биты в битовый массив. Проблема в том, что это кажется очень неэффективным, а также я не уверен, как бы я сохранил результат для обращения битов.
Есть намеки на это? Это домашнее задание, поэтому просто намеки, пожалуйста:)