Максимальное N (1 часть). №5 ЕГЭ

1 часть подборки заданий, в которых нужно определить максимальное N по заданному алгоритму и результату его работы.

№579CE8

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

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

2) К этой записи дописываются справа ещё два разряда по следующему правилу: если N чётное, в конец числа (справа) дописываются два нуля, в противном случае справа дописываются две единицы. Например, двоичная запись 1001 числа 9 будет преобразована в 100111.  

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа –– результата работы данного алгоритма.

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

решение

Напишем функцию number() которая будет преобразовывать число по заданному алгоритму.

Для преобразования в двоичную систему счисления используем функцию bin(). В результате получим строку, в которой первые два символа – это префикс ‘0b’, указывающий на основание системы счисления. Сразу убираем префикс при помощи среза строки.

Дальше преобразуем число в зависимости от его чётности – либо дописываем два нуля, либо две единицы.

Функция вернёт число, переведённое после преобразований в десятичную систему.

К двоичной записи справа добавляется два разряда, то есть число увеличивается не меньше чем в четыре раза. Возьмём явно избыточный интервал натуральных чисел от 102 до 1 и переберём числа в порядке убывания: N in range(102, 0, -1).

Передадим каждое число как аргумент функции number() и сравним результат преобразований с числом 102.

Как только результат окажется меньше 102, выведем число и прервём цикл.

программа

максимальное N 1_1

результат

24


№A26623

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

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

2) К этой записи дописываются справа ещё два разряда по следующему правилу: если N чётное, в конец числа (справа) дописываются два нуля, в противном случае справа дописываются две единицы. Например, двоичная запись 1001 числа 9 будет преобразована в 100111.  

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа –– результата работы данного алгоритма.

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

решение

Изменения в программе №579CE8:

for N in range(131, 0, -1):
if number(N) < 131:

результат

32


№FE3877

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

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

2)    К этой записи дописываются справа ещё два разряда по следующему правилу: если N чётное, в конец числа (справа) дописываются два нуля, в противном случае справа дописываются две единицы. Например, двоичная запись 1001 числа 9 будет преобразована в 100111.

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа –– результата работы данного алгоритма.

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

решение

Изменения в программе №579CE8:

for N in range(134, 0, -1):
if number(N) < 134:

результат

32


№7B8BAC

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

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

2) К этой записи дописываются справа ещё два разряда по следующему правилу: если N чётное, в конец числа (справа) дописываются два нуля, в противном случае справа дописываются две единицы. Например, двоичная запись 1001 числа 9 будет преобразована в 100111.  

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа –– результата работы данного алгоритма.

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

решение

Изменения в программе №579CE8:

for N in range(140, 0, -1):
if number(N) < 140:

результат

34


№0D73A6

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

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

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

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

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

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

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

Например, для исходного числа 11 = 1023 результатом является число 1021013 = 307, а для исходного числа 12 = 1103 это число 110103 = 111.

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

решение

Добавим функцию перевода в троичную систему счисления:

максимальное N 1_3

Функция преобразований по алгоритму будет выглядеть так:

максимальное N 1_4

Поиск максимального числа N:

программа

максимальное N 1_2

результат

16

Примеры из Банка заданий ЕГЭ