Алгоритм получает на вход натуральное число следующим образом:
1. Строится двоичная запись числа .
2. Вместо последней (самой правой) двоичной цифры дважды записывается вторая слева цифра двоичной записи.
3. Результат переводится в десятичную систему.
При каком наименьшем числе в результате работы алгоритма получится
Показать ответ
for n in range(2, 100000): # Перебор значений N>1
r = bin(n)[2:] # Получаем двоичную запись числа N
r = list(r) # Получем список цифр
r[-1] = r[1] + r[1] # Заменяем последнюю цифру второй цифрой слева дважды
r = ’’.join(r) # Получаем обратно строку из списка
r = int(r, 2) # Получаем итоговое число в десятичной системе счисления
if r > 115: # Проверка выполнения условия
print(n)
break # Первое выведенное значение будет минимальным
Ответ: 58