Задание №4437.
Формальное исполнение простого алгоритма. ЕГЭ по информатике
На вход алгоритма подаётся натуральное число
N. Алгоритм строит по нему новое число
R следующим образом.
1. Строится двоичная запись числа
N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число
N делится на 3, то к этой записи дописываются три последние двоичные цифры;
б) если число
N на 3 не делится, то остаток от деления умножается на 3, переводится в двоичную запись и дописывается в конец числа.
Полученная таким образом запись является двоичной записью искомого числа
R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 12 = 1100
2 результатом является число 1100100
2 = 100, а для исходного числа 4 = 100
2 результатом является число 10011
2 = 19.
Укажите
максимальное число
R, не превышающее 138, которое может быть получено с помощью описанного алгоритма. В ответе запишите это число в десятичной системе счисления.
Пояснение:
Решим задание, написав программу на языке программирования Python.
final_list = []
for n in range(1, 1000): binary_n = bin(n)[2:] if n % 3 == 0: binary_n += binary_n[-3:] else: binary_n += bin((n % 3) * 3)[2:]
R = int(binary_n, 2) if R < 138: final_list.append(R)
print(max(final_list)) |
Таким образом,
127 — максимальное число
R, не превышающее 138, которое может быть получено с помощью описанного алгоритма.
Показать ответ
127
Источник: ФИПИ. Открытый банк тестовых заданий
Сообщить об ошибке
Тест с похожими заданиями