5 номер. Преобразование записей чисел
Преобразование двоичной записи
(А. Игнатюк) Компьютер по имени Иннокентий преобразует число N из промежутка [100; 200], которое он преобразует по следующим правилам и получает число R:
1) Строится запись числа N в двоичной системе счисления
2) Если количество цифр в двоичной записи числа N четно, то справа к этому записи дописывается 10
3) Если количество цифр в двоичной записи числа N нечетно, то к этой записи слева дописывается 11
4) Число переводиться из двоичную систему счисления в десятичную систему счисления
5) Данные действия выполняются для полученного числа ещё раз
Полученное значение является искомым значением числа R.
Найдите количество чисел N, для которых результат работы компьютера будет четным
Подсказка
Сначала выполните все шаги для одного N, сохраняя строку после каждого изменения. Затем уточните, что требуется выбрать: N, R или количество значений.
Решение
Искомая величина: Найдите количество чисел N, для которых результат работы компьютера будет четным
Разделите решение на два действия: для одного входного числа точно воспроизведите алгоритм, затем отберите результаты по условию задачи. Храните запись числа строкой; основание используемой системы счисления — 2.
Дописывание справа реализуется как s + suffix, слева — как prefix + s. Добавляйте ровно указанную последовательность символов, включая нули. Числовое сложение вместо соединения строк здесь меняет алгоритм.
После завершения всех преобразований получите числовой результат: R = int(s, 2). Ограничения на величину R проверяйте численно: лексикографический порядок строк не совпадает с порядком чисел.
Для подсчёта проверьте все входы из заданного диапазона. Если спрашивается количество различных результатов, используйте множество R; если количество исходных чисел — считайте подходящие N, даже когда несколько входов дают один результат.
Строгое «больше» означает >, а «не меньше» — >=; аналогично различайте верхние границы. Диапазон перебора определяйте из ограничений и изменения длины записи, а не произвольной константой. Пример из условия помогает проверить отдельный проход алгоритма.
Ответ: 87.