Teacher & coder

Задача № 164

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

  1. Строится двоичная запись числа \( N \).
  2. Далее эта запись обрабатывается по следующему правилу:
    1. если число \( N \) делится на 3, то к этой записи справа дописываются две последние двоичные цифры;
    2. если число \( N \) на 3 не делится, то остаток от деления умножается на 3, переводится в двоичную запись и дописывается в конец числа.

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

  1. Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа \( 9 = 1001_2 \) результатом является число \( 100101_2 = 37 \), а для исходного числа \( 10 = 1010_2 \) это число \( 101011_2 = 43 \).

Укажите минимальное число \( R \), не меньшее, чем 195, которое может быть получено в результате работы алгоритма.

Можно скопировать и вставить все ответы сразу
ЕГКР 27 апреля 2024 года (Московский пробник)
Прокрути, чтобы прочитать решение задачи
Ты уверен, что хочешь это сделать?
Удачного чтения!

Решение

Код из видео

# список с возможными результатами
answer = []

# перебираем N
for n in range(1, 195):
    # строим двоичную запись
    r = bin(n)[2:]
    # проверяем кратность
    if n % 3 == 0:
        # добавляем две последние цифры
        r += r[-2:]
    else:
        # добавляем двоичную запись утроенного остатка
        r += bin(n % 3 * 3)[2:]
    # переводим из двоичной в десятичную систему счисления
    r = int(r, 2)

    # если результат не меньше 195, добавляем в список
    if r >= 195:
        answer.append(r)

# выводим минимальный результат
print(min(answer))

Артём Зинкин

Лучше не гуглить и подумать самостоятельно. Тест можно пройти несколько раз :)
Чтобы поделиться задачей с коллегами или друзьями, отправьте им ссылку :)
Забыл сказать, что у этой задачи есть подробное решение. Посмотрите его :)
Попробуйте решить эту задачу сами и посмотрите наши разборы похожих задач :)
Кстати, на ЕГЭ тоже нельзя копировать :)
Этим материалом удобно поделиться по прямой ссылке :)