стереть
Класс
8 9 10 11
Нужно авторизоваться
Нужно авторизоваться
Нужно авторизоваться
Нет аккаунта?
При наличии аккаунта на платформе можно
Введите больше 6 символов
Проблемы со входом?
Введи последние 4 цифры номера, с которого
поступит звонок. Трубку брать не нужно.
Повторный звонок через
сек.
Добро пожаловать!
Зарегистрируйся и получи Демо мастер-группы на 10 дней по любимым предметам бесплатно.
Добро пожаловать!
Как тебя зовут?
Введите не меньше 2 символов
Привяжем номер телефона
Введите не меньше 2 символов
Привяжем номер телефона
Повторный звонок через
30 сек.
Теперь нужно подтвердить номер - введи последние 4 цифры номера, с которого поступит звонок. Трубку брать не нужно
Введите не меньше 2 символов
Придумаем пароль
Почти закончили! Теперь нужно создать надежный пароль
Введите не меньше 2 символов
Немного о тебе
В какой класс ты переходишь?
Укажи, какие предметы будешь или хочешь сдавать
Введите не меньше 2 символов
На почту 12345@mail.ru отправлена ссылка для сброса пароля.
OK
Информатика

Задача по теме: "Двоичные и десятичные алгоритмы"

Информатика
Задание 5 Двоичные и десятичные алгоритмы
Подсказка
За подсказку ты получишь лишь половину баллов
Использовать
Автор
Крылов С.С., Чуркина Т.Е. Информатика: единый государственный экзамен. — Москва: Издательство "Национальное образование", 2023. — 256 с. Материалы публикуются в учебных целях
Просмотры
5319
banner-img

Условие: 

На вход алгоритма подается натуральное число N. Алгоритм строит по нему новое число R следующим образом:

  1. Строится двоичная запись числа N.

  2. Далее если исходное число четное, то справа к построенной двоичной записи числа N приписывается 0, если нечетное, то приписывается 1.

  3. Далее полученная на втором шаге алгоритма запись обрабатывается по следующему правилу:

а) если количество единиц в двоичной записи кратно трем, то в этой записи два левых разряда заменяются на 11;

б) если количество единиц в двоичной записи некратно трем, то в этой записи два левых разряда заменяются на 10.

Полученная таким образом запись является двоичной записью искомого числа R.

Например, для исходного числа 610 = 1102 результатом является число 10002 = 810, а для исходного числа 310 = 112 результатом является число 1112 = 710.

Укажите максимальное число N, после обработки которого с помощью этого алгоритма получается число R, не большее, чем 37. В ответе запишите это число в десятичной системе счисления.

 

loading
Решение

Решение:

Решение с помощью программы:

for x in range(1,1000):
    n = bin(x)[2:]
    if x%2 == 0:
        n = n + '0'
    else:
        n = n + '1'
    if n.count('1')%3 == 0:
        n = '11' + n[2:]
    else:
        n = '10' + n[2:]
    if int(n,2) <= 37:
        print(x)



Решение руками:
Так как число 37 в двоичной - 100101, и нам нужно меньше или равное 37, то, делая шаг назад по алгоритму, нам подходит число 110011, потому что число единиц не кратно 3 (следовательно, два левых разряда заменятся на 10). Делая еще один шаг назад, мы получаем число 11001, и если проверить его на четность, то оно будет нечетное и, соответственно, в конце припишем 1. В итоге получаем число 11001, что равно 25 в десятичной системе счисления.

 


Ответ: 25

На экзамене это задание принесло бы тебе 2/2 баллов.
Решать еще

Сообщение об ошибке

Расскажите, в каком месте допущена ошибка, мы как можно быстрее её исправим. Спасибо за обратную связь!

Здравствуйте!

Выберите информацию о себе ниже

pay-success-img

Оплата прошла успешно!

pay-un-success-img

Оплата не прошла

Попробуйте снова