На вход алгоритма подаётся натуральное число . Алгоритм строит по нему новое число следующим образом.
-
Строится двоичная запись числа .
-
Далее эта запись обрабатывается по следующему правилу:
а) если число нечётное, то в этой записи каждая единица заменяется на 111;
б) если число чётное, то в этой записи каждый нуль заменяется на 000.
Полученная таким образом запись является двоичной записью искомого числа .
- Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа = результатом является число = .
Укажите максимальное число , после обработки которого с помощью этого алгоритма получается минимальное число , большее чем 701.
Решение:
Решение на Python:
minR = []
otv = []
for N in range(1, 1000):
R = bin(N)[2:]
if N % 2 == 1:
R = R.replace('1', '111')
else:
R = R.replace('0', '000')
R = int(R, 2)
if R > 701:
minR.append(R)
if R == min(minR):
otv.append(N)
print(N) #последний вывод
Ответ: 54
Ответ:
54
ЕГЭ · Информатика · СтатГрад 2025