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

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

№FEA61B

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

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

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

а) если сумма цифр в двоичной записи числа чётная, то к этой записи справа дописывается 0, а затем два левых разряда заменяются на 10;

б) если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11.

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

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

Например, для исходного числа 610 = 1102 результатом является число 10002 = 810, а для исходного числа 410 = 100это число 11012 = 1310.

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

решение

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

Для преобразования в двоичную систему счисления используем функцию bin().

Находим сумму цифр.

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

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

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

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

программа

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

результат

12


№2A4EB2

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

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

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

а) если сумма цифр в двоичной записи числа чётная, то к этой записи справа дописывается 0, а затем два левых разряда заменяются на 10;

б) если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11.

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

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

Например, для исходного числа 610 = 1102 результатом является число 10002 = 810, а для исходного числа 410 = 100это число 1101= 1310.

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

решение

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

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

результат

27


№FD3C06

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

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

2. К этой записи дописываются справа ещё несколько разрядов по следующему правилу:

а) если N чётное, то к нему справа приписываются два нуля, а слева единица;

б) если N нечётное, то к нему справа приписывается в двоичном виде сумма цифр его двоичной записи.

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

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

Например, исходное число 410 = 1002 преобразуется в число 110000= 4810, а исходное число 1310 = 11012 преобразуется в число 110111= 5510.

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

решение

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

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

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

результат

49


№DD38CF

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

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

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

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

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

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

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

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

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

решение

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

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

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

результат

16


№D908DA

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

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

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

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

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

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

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

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

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

решение

По сравнению с предыдущей задачей меняется только интервал и число, с которым сравниваем результат:

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

результат

22

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