Тема 5. Алгоритмы – анализ простейших алгоритмов

5.02 Запись числа в другой системе счисления

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела алгоритмы – анализ простейших алгоритмов
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#75227

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

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

2. Далее эта запись обрабатывается по следующим правилам:

а) если число N дает остаток 0 или 1 при делении на 3, то к этой записи справа дописываются две первые цифры двоичной записи числа N;

б) если число N дает остаток 2 при делении на 3, то считается количество нулей в этой записи, это количество переводится в двоичную запись и дописывается в конец числа.

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

Например, для исходного числа 1210 = 11002  результатом является число 1100112 = 5110  , а для исходного числа 510 = 1012  результатом является число 10112 = 1110  .

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

Показать ответ и решение
for n in range(1, 150):
    s = bin(n)[2:]  # Переводим число в двоичную систему счисления
    if n % 3 == 0 or n % 3 == 1:  # Если число n дает остаток 0 или 1 при делении на 3,
        s += s[0:2]  # то приписываем две единицы двоичной записи.
    if n % 3 == 2:  # Если число n дает остаток 2 при делении на 3,
        k = s.count(’0’)  # то считаем количество нулей в числе.
        s1 = bin(k)[2:]  # Переводим это количество в двоичную сс
        s += s1  # Прибавляем это число к двоичной записи числа
    r = int(s, 2)
    if r > 122:
        print(n)
        break  # Первое выведенное значение будет минимальным

Ответ: 30

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!