Максимальное 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, выведем число и прервём цикл.
программа
результат
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:
программа
результат
16
Примеры из Банка заданий ЕГЭ