Демовариант ЕГЭ по информатике 2022 года, задание 22

Демовариант ЕГЭ по информатике 2022 года, задание 22

Задача

Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 4, а потом 5.

ege 2021 22

Решение (анализ программы)

Проведем анализ программы (Python).

ege 2022 22 001

Изначально переменная x вводится с клавиатуры, переменная Q=9, а L=0.

x = int(input())  
Q = 9    
L = 0

По условию программа сначала вывела 4, а потом 5. В программе вывод организован следующим образом:

print(L)
print(M)

Таким образом, L=4, а M=5.

В программе присутствует цикл, который изменяет значения переменных x и L:

while x >= Q:
    L = L + 1
    x = x - Q

Очевидно, что L это счетчик количества выполненных циклов, а x результат разности x и Q, таким образом Q вычитается из x столько раз, сколько выполнился цикл.

Переменная x, получившаяся в результате выполнения цикла, записывается в переменную Q:

M = x

Таким образом, чтобы найти начальное значение переменной x, необходимо:

\[x=Q \times L+M\]

\[x=9 \times 4+5=41\]

С другой стороны, в программе присутствует часть кода с условным оператором:

if M < L:
    M = L
    L = x

Согласно условию M < L значения переменных M и L меняются местами.

В том случае, если условие было выполнено, переменные будут иметь следующие значения L=5 и M=4 (эти значения будут перед выполнение условного оператора).

В этом случае начальное значение переменной x будет равно:

\[x=9 \times 5+4=49\]

В условии задачи нас просили найти наибольшее значение, поэтому нам необходимо выбрать наибольшее значение переменной x из тех, что мы вычислили. Это значение - 49.

Ответ: 49.

Решение (программа)

Данную задачу, в том виде как она есть, можно легко решить при помощи обычного перебора перебора значений и сравнения полученного ответа с заданным результатом.

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

В результате выполнения программы значение переменной x меняется, этот факт необходимо учесть.

Разберемся в том, что выводит программа.

По условию программа сначала вывела 4, а потом 5. В программе вывод организован следующим образом:

print(L)
print(M)

Таким образом, L=4, а M=5.

Текст программы будет выглядеть следующим образом:

for i in range(1,101):
    x = i
    Q = 9
    L = 0
    while x >= Q:
        L = L + 1
        x = x - Q
    M = x
    if M < L:
        M = L
        L = x
    if L == 4 and M == 5:
        n = i
print(n)

Ответ: 49.

Выберите соответствующий номер задания в демонстрационном варианте ЕГЭ 2022 года

Информация

Все изображения, размещенные на сайте, изготовлены автором самостоятельно, а также взяты в сети Интернет из тех изображений, которые находятся в свободном доступе. Поиск изображений осуществлялся посредством "Яндекс. Картинки".

Индекс цитирования

Проект при поддержке компании RU-CENTER Рейтинг@Mail.ru

Версия сайта для слабовидящих