πЕГЭ · ИИ-репетитор12 предметов · задания ФИПИ
Главная → Информатика → Задания №5 → Задание i05-12

Задание №5 ЕГЭ Информатика с ответом и решением

Ответ: 88

Условие

Автомат обрабатывает натуральное число N по следующему алгоритму:

1. Строится двоичная запись числа N.

2. Запись «переворачивается», то есть читается справа налево. Если при этом появляются ведущие нули, они отбрасываются.

3. Полученное число переводится в десятичную запись и выводится на экран.

Пример. Дано число N = 58. Алгоритм работает следующим образом.

1. Двоичная запись числа N: 111010.

2. Запись справа налево: 10111 (ведущий ноль отброшен).

3. На экран выводится десятичное значение полученного числа 23.

Какое наибольшее число, не превышающее 100, после обработки автоматом даёт результат 13?

Подсказки — как подойти к решению

  1. Разверни алгоритм: результат — это перевёрнутая двоичная запись исходного числа, значит исходную запись можно получить переворотом записи результата. Учитывай, что при перевороте ведущие нули пропадают.
  2. К записи результата можно приписывать нули справа: после переворота они станут ведущими и исчезнут. Перебери такие варианты и выбери наибольший, который ещё не превышает ограничение из условия.

Решение

Рассмотрим действия алгоритма в обратном порядке. Переведём 13 в двоичную систему счисления: 1310 = 1101. Рассмотрим числа, из которых можно получить данное число.

10112 = 1110.

1 01102 = 2210.

10 11002 = 4410.

101 10002 = 8810.

1011 00002 = 17610.

Таким образом, наибольшее число, удовлетворяющее условию задачи равно 88.

Ответ: 88.

Приведём другое решение на языке Python.

for n in range(100, 1, -1):

s = bin(n)[2:] # перевод в двоичную систему

s = str(s)

s = s[::-1]

s = s[s.find('1'):]

r = int(s, 2) # перевод в десятичную систему

if r == 13:

print(n)

break

Приведём решение Никиты Юрлова на языке Python.

for n in range(100, 1, -1):

s = bin(n)[2:]

s = s[::-1]

k = int(str(int(s)), 2)

if k == 13:

print(n)

break

Типичные ошибки

Решить это задание в тренажёре

В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №5 по информатике