
Задача по теме: "Двоичные и десятичные алгоритмы"
На вход алгоритма подается натуральное число N. Алгоритм строит по нему новое число R следующим образом:
-
Строится двоичная запись числа N.
-
Каждый разряд этой записи заменяется двумя разрядами по следующему правилу: если в разряде стоит 0, то вместо него пишется 00; если в разряде стоит 1, то 1 заменяется на 11.
Полученная таким образом запись (в ней в два раза больше разрядов, чем в записи исходного числа N) является двоичной записью числа R - результата работы данного алгоритма.
Укажите минимальное число R, большее 32, которое может являться результатом работы данного алгоритма. В ответе запишите это число в десятичной системе счисления.
Решение:
Решение программой:
a = []
for x in range(1,1000):
n = bin(x)[2:]
n = n.replace('0', '-').replace('1', '*').replace('-', '00').replace('*', '11')
if int(n,2) > 32:
a.append(int(n,2))
print(min(a))
Решение руками:
Число 33 в двоичной системе счисления - 100001. Так как нам нужно большее, но минимальное, то мы задвоим первую единицу и вместо последней поставим 0, то есть у нас получится число 110000, что в десятичной системе равняется 48.
Ответ: 48
Сообщение об ошибке
Расскажите, в каком месте допущена ошибка, мы как можно быстрее её исправим. Спасибо за обратную связь!
| МГ | Pro | ProMax | |
| Практика на платформе | |||
| Отслеживание прогресса обучения | |||
| Двухуровневое домашнее задание после каждого вебинара | |||
| Все материалы составлены экспертом ЕГЭ | |||
| Персональный менеджер | |||
| Личный куратор | |||
| Разбор ошибок личным куратором | |||
| Еженедельные созвоны с куратором для закрытия индивидуальных пробелов | |||
| Составление индивидуального расписания |
счёта
средств
подтверждено!
Теперь вы можете приступить
к следующему уроку
курса по математике
замены
Для смены номера телефона
мы отправили Вам код по СМС,
введите его в поле ниже.
Электронная почта
На почту придет чек об оплатеНажимая кнопку "купить", Вы выражаете своё согласие с офертой оказания услуг и принимаете их условия
Здравствуйте!
Выберите информацию о себе ниже
Оплата прошла успешно!