Алгоритм получает на вход натуральное число N и строит по нему новое число R следующим образом:
1. Строится двоичная запись числа N.
2. В полученной записи все нули заменяются на единицы, все единицы — на нули. Из полученного числа удаляются ведущие нули.
3. Результат переводится в десятичную систему счисления.
4. Результатом работы алгоритма становится разность исходного числа N и числа, полученного на предыдущем шаге.
Пример. Дано число N = 22. Алгоритм работает следующим образом.
1. Строим двоичную запись: 2210 = 101102.
2. Заменяем цифры и удаляем ведущие нули: 10110 → 01001 → 1001.
3. Переводим в десятичную систему: 10012 = 910.
4. Вычисляем разность: 22 − 9 = 13.
Результат работы алгоритма R = 13.
При каком наименьшем N в результате работы алгоритма получится R = 999?
1. Строится двоичная запись числа N.
2. В полученной записи все нули заменяются на единицы, все единицы — на нули. Из полученного числа удаляются ведущие нули.
3. Результат переводится в десятичную систему счисления.
4. Результатом работы алгоритма становится разность исходного числа N и числа, полученного на предыдущем шаге.
Пример. Дано число N = 22. Алгоритм работает следующим образом.
1. Строим двоичную запись: 2210 = 101102.
2. Заменяем цифры и удаляем ведущие нули: 10110 → 01001 → 1001.
3. Переводим в десятичную систему: 10012 = 910.
4. Вычисляем разность: 22 − 9 = 13.
Результат работы алгоритма R = 13.
При каком наименьшем N в результате работы алгоритма получится R = 999?
💡 Пошаговый разбор и решение:
Приведём решение на языке Python.
for n in range(2, 10000):
s = bin(n)[2:] # перевод в двоичную систему
s = str(s)
s = s.replace('0','2')
s = s.replace('1','0')
s = s.replace('2','1')
s.strip("0")
s=int(s,2)
if n-s == 999:
print(n)
break
Ответ: 1011.
for n in range(2, 10000):
s = bin(n)[2:] # перевод в двоичную систему
s = str(s)
s = s.replace('0','2')
s = s.replace('1','0')
s = s.replace('2','1')
s.strip("0")
s=int(s,2)
if n-s == 999:
print(n)
break
Ответ: 1011.
Правильный ответ:
1011
📚 Похожие разобранные задания по предмету:
ID 29741 • Задание №3
Даны фрагменты двух таблиц из базы данных. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из...
ID 29617 • Задание №3
Ниже представлены два фрагмента таблиц из базы данных о жителях микрорайона. Каждая строка таблицы 2 содержит ...
🔗 Другие задания линии №5 по предмету Информатика:
ID 29906
На вход алгоритма подается натуральное число N. Алгоритм строит по нему новое число R следующим...
ID 29907
Алгоритм получает на вход натуральное число N ≥ 100 и строит по нему новое число R следующим об...
ID 29908
Алгоритм получает на вход натуральное число N и строит по нему новое число R следующим образом....
ID 29909
На вход алгоритма подаётся натуральное число $N больше 20$ Алгоритм строит по нему новое число ...
ID 29910
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим...