Задание 5. Информатика. ЕГЭ. Поляков-6998
- Просмотры: 275
- Изменено: 1 февраля 2025
(Е. Джобс) На вход алгоритма подается натуральное число \(N.\) Алгоритм строит по нему новое число R следующим образом.
- Строится двоичная запись числа \(N.\)
- К полученной записи дописываются разряды. Если в числе четное количество единиц, слева дописывается \(1\) справа два нуля, если нечетное – слева две единицы.
Полученная таким образом запись является двоичной записью искомого числа \(R.\)
Пример. Дано число \(N = 13.\) Алгоритм работает следующим образом:
- Двоичная запись числа \(N:\) \(1101.\)
- Число нечетное, следовательно, слева дописываем две единицы – \(11 + 1101 = 111101.\)
- На экран выводится число \(111101_2 = 61.\)
В результате работы автомата на экране появилось число, не меньшее \(412.\) Для какого наименьшего значения \(N\) данная ситуация возможна?
Решение:
Python
def R(N):
bn = f'{N:b}'
if bn.count('1') % 2 == 0:
bn = '1' + bn + '00'
else:
bn = '11' + bn
return int(bn, 2)
for N in range(13, 300):
if R(N) >= 412:
print(N)
break
Ответ: \(39\)