Задание №4386. На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1. Строится двоичная запись числа N. 2. Далее эта запись обрабатывается по следующему правилу:   а) если число N делится на 3, то к этой записи дописываются три последние двоичные цифры;   б) если число N на 3 не делится, то остаток от деления умножается на 3, переводится в двоичную запись и дописывается в конец числа. Полученная таким образом запись является двоичной записью искомого числа R. 3. Результат переводится в десятичную систему и выводится на экран. Например, для исходного числа 12 = 11002 результатом является число 11001002 = 100, а для исходного числа 4 = 1002 результатом является число 100112 = 19. Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, не меньшее чем 76.

Задание №4386.
Формальное исполнение простого алгоритма. ЕГЭ по информатике

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

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

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

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

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

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

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

Например, для исходного числа 12 = 11002 результатом является число 11001002 = 100, а для исходного числа 4 = 1002 результатом является число 100112 = 19.

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

Пояснение:
Составим алгоритм, описанный в условии задания, и найдем минимальное число N, используя язык программирования Python.

final_list = []

for n in range(1, 1000):
    binary_n = bin(n)[2:]
    if n % 3 == 0:
        binary_n += binary_n[-3:]
    else:
        binary_n += bin((n % 3) * 3)[2:]

    R = int(binary_n, 2)
    if R >= 76:
        final_list.append(n)

print(min(final_list))

Исполнив приведенный выше код, получаем, что 11 — минимальное значение числа N, после обработки которого с помощью этого алгоритма получается число R, не меньшее чем 76.

Показать ответ

Источник: ФИПИ. Открытый банк тестовых заданий
Сообщить об ошибке


Тест с похожими заданиями