Задание 5. Информатика. ЕГЭ. Поляков-6621
- Просмотры: 46
- Изменено: 3 марта 2025
(Е. Джобс) На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом:
- Строится двоичная запись числа \(N.\)
- Если число кратно \(5,\) то слева дописывается \(1,\) справа две последние цифры (младшие разряды). Иначе слева дописывается двоичное представления остатка от деления числа на \(5.\)
- Полученная таким образом запись является двоичной записью искомого числа \(R.\)
Например, для числа \(13 = 1101_2\) получается \(111101_2 = 61,\) для числа \(10 = 1010_2\) получается \(1101010_2 = 106.\) Укажите максимальное число \(R,\) не превышающее \(223,\) которое может являться результатом работы данного алгоритма. В ответе это число запишите в десятичной системе счисления.
Решение:
Python
def R(N):
bn = f'{N:b}'
if N % 5 == 0:
bn = '1' + bn + bn[-2:]
else:
bn = f'{N % 5 : b}' + bn
return int(bn, 2)
print(max(R(N) for N in range(5, 230) if R(N) < 223))
Ответ: \(219\)