Алгоритм получает на вход натуральное число > 1 и строит по нему новое число следующим образом:
-
Строится двоичная запись числа .
-
В конец записи (справа) дописывается вторая справа цифра двоичной записи.
-
В конец записи (справа) дописывается вторая слева цифра двоичной записи.
-
Результат переводится в десятичную систему.
Пример. Дано число = 13. Алгоритм работает следующим образом:
-
Двоичная запись числа : 1101.
-
Вторая справа цифра 0, новая запись 11010.
-
Вторая слева цифра 1, новая запись 110101.
-
Результат работы алгоритма = 53.
При каком наименьшем числе в результате работы алгоритма получится > 150? В ответе запишите это число в десятичной системе счисления.
Решение:
Решение на Python:
otv = []
for N in range(2, 1000):
R = bin(N)[2:]
R += R[-2]
R += R[1]
R = int(R, 2)
if R > 150:
otv.append(N)
print(min(otv))
Ответ: 38
Ответ:
38
ЕГЭ · Информатика · СтатГрад 10.12.2020 2020