Сос
даны два целых числа a и b, где 1 ≤ b ≤ a ≤ 109. необходимо вычислить результат s, выполнив последовательно следующие действия:
переведите числа a и b в двоичную систему счисления
допишите слева к числам a и b ведущие нули так, чтобы в них стало по 32 двоичных цифры
в числе b замените все ноли на единицы, а единицы – на ноли
вычислите s как следующую сумму: s = a + b + 1
если в числе s оказалось больше 32 двоичных цифр, то оставьте только 32 младшие цифры, а лишние цифры слева сотрите
переведите s в десятичную систему счисления и выведите в ответ
рассмотрим пример. пусть a = 5, b = 3.
в двоичной системе a = 101, b = 11.
допишем нули: a = 101, b = 11
инвертируем все цифры во втором числе: b = 00
вычислим s = a + b + 1 = 110.
в числе s оказалось 33 цифры, поэтому отбросим первую: s = 10.
переводим в десятичную систему: s = 2.
пример
входные данные
5
3
выходные данные
2
Поскольку используется 22 буквы и 10 цифр, то в сумме получается 32 символа.
2. Определим количество бит, необходимых для кодирования набора из 32 символов. Если считать, что символы кодируются цифрами от 0 до 31, потребуется бит.
3. Определим количество байт, которое займет один номер.
В номере 7 символов, поэтому для его кодирования нужно 7х5=35 бит. В байте 8 бит, тогда для размещения 35 бит потребуется 35/8 ≈ 5 байт (округляем до целых всегда в большую сторону).
4. Определим объем памяти, отводимый для записи 50 номеров.
50х5=250 байт.
ответ: 250 байт. (вариант ответа 3)