На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число в следующим образом.
- Строится двоичная запись числа N.
- Далее эта запись обрабатывается по следующему правилу:
а) если число N чётное, то в этой записи каждая единица заменяется на 11;
б) если число N нечётное, то в этой записи каждый нуль заменяется на 00.
Полученная таким образом запись является двоичной записью искомого числа R. - Результат переводится в десятичную систему и выводится на экран.
Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, большее 70.
Решение:
Решение на Python:
for N in range(200):
N2 = bin(N)[2:]
if N % 2 == 0:
N2 = N2.replace('1', '11')
else:
N2 = N2.replace('0', '00')
R = int(N2, 2)
if R > 70:
print(N)
break
Ответ: 14
Ответ:
14