Code-Enjoy

ЕГЭ по информатике ДЕМО 2025 - Задания 15-21



Продолжаем разбор ДЕМО 2025 ЕГЭ по информатике.


Разберём Задания с 15 по 21.


Более подробные объяснения читайте в НОВОМ видеокурсе ЕГЭ по информатике 2025.




Разбор демоверсии ЕГЭ по информатике 2025 (1-7 Задания)
Разбор демоверсии ЕГЭ по информатике 2025 (8-14 Задания)
Разбор демоверсии ЕГЭ по информатике 2025 (22-27 Задание)




Задание 15

На числовой прямой даны два отрезка: P = [15; 40] и Q = [21; 63]. Укажите наименьшую возможную длину такого отрезка A, для которого логическое выражение


(x ∈ P) → (((x ∈ Q) ∧ ¬(x ∈ A)) → ¬(x ∈ P))

истинно (т.е. принимает значение 1) при любом значении переменной х.


Решение:

Применим шаблон на отрезки, о котором говорили в статье из курса для подготовки к ЕГЭ по информатике 2025.


def F(a, b, x):
    if a<=x<=b:
        return True
    else:
        return False

mn=10**10
for a in range(0, 100):
    for b in range(a, 100):
        k=0
        for i in range(2, 200):
            x = i / 2
            if not(F(15, 40, x)) or (not(F(21, 63, x) and not(F(a, b, x))) or not(F(15, 40, x))):
                k=k+1

        if k==198:
            mn = min(mn, b-a)

print(mn)

Ответ: 19



Задание 16

Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:


F(n) = 1 при n = 1;

F(n) = (n – 1)× F(n − 1), если n > 1.


Чему равно значение выражения (F(2024) + 2 × F(2023)) / F(2022)?


Решение:

Применим схему решения, о которой говорили в статье по 16 Заданию из курса ЕГЭ по информатике 2025.


ЕГЭ по информатике 2025 - Схема решения 16 Задания




Здесь мы получили ответ на втором шаге


from functools import lru_cache

@lru_cache(None)
def F(n):
    if n==1: return 1
    if n>1: return (n-1)*F(n-1)

for i in range(1, 2024):
    F(i)

print((F(2024) + 2*F(2023))/F(2022))

Ответ: 4094550



Задание 17

файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от 1 до 100 000 включительно. Определите количество пар последовательности, в которых остаток от деления хотя бы одного из элементов на 16 равен минимальному элементу последовательности. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.


Скачать файл

Решение:

Задача решается в два действия. В первом действии найдём минимальный элемент всей последовательности.


f=open('demo_2025_17.txt')

mn=10**10

for s in f.readlines():
    x = int(s)
    mn = min(mn, x)

print(mn)

Получается число 8.





Во втором действии займёмся парами.


f=open('demo_2025_17.txt')

mx=-10**10
k=0

n1=int(f.readline())

for s in f.readlines():
    n2 = int(s)
    if n1%16==8 or n2%16==8:
        k += 1
        mx = max(mx, n1+n2)

    n1=n2

print(k, mx)

Ответ:
1214176024




Задание 18

Квадрат разлинован на N × N клеток (1 < N < 30). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю. Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клеткам маршрута Робота. В «угловых» клетках поля – тех, которые справа и снизу ограничены стенами, Робот не может продолжать движение, поэтому накопленная сумма считается итоговой. Таких конечных клеток на поле может быть несколько, включая правую нижнюю клетку поля. При разных запусках итоговые накопленные суммы могут различаться.

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

Исходные данные представляют собой электронную таблицу размером N × N, каждая ячейка которой соответствует клетке квадрата. Внутренние и внешние стены обозначены утолщёнными линиями.


ЕГЭ по информатике 2025 - Задание 18 (пример)
Скачать файл

Решение:

Итоговая клетка - это клетка, когда и снизу, и справа, стена т.е. роботу больше некуда ходить.





В начале выделим все буквы от A до T, вызовем контекстное меню и выберем ширина столбца. Поставим ширу столбца 5. Это нам позволит ужать всё пространство.


Выделим все ячейки с числами, нажмём "вырезать", используя контекстное меню. Вставим данные на 1 столбец вправо. Это делаем потому, что будем использовать для решения формулу, которая будет обращаться к ячейке слева.


Мысленно представим пространство на 1 строчку ниже, чем область, где находятся числа. Это пространство будет таким же по размерам, как и область с числами. В этом пространстве и будет наше решение.


ЕГЭ по информатике Демо 2025 - Задание 18 (решение)




Можно скопировать прямоугольник с числами и вставить его снизу, пропустив одну строчку. Потому нажмём кнопку DELETE, тогда числа удаляться, а стенки останутся, нам это и нужно!


Отметим особым цветом те ячейки, которые "спрятаны" от движения Робота стенками.


ЕГЭ по информатике Демо 2025 - Задание 18 (решение) 2




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


Цвет ячейки можно поменять, нажав на кнопку "Цвет заливки" на главной вкладке программы.


Т.к. Робот направляется из левой верхней ячейки, то мы сначала и напишем формулу для этой ячейки. Пишем для ячейки B22:


=МАКС(B21;A22)+B1

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


Распространим формулу на всё пространство, не трогая закрашенные клетки.


ЕГЭ по информатике Демо 2025 - Задание 18 (распространяем формулу)




Получается такая картина:


ЕГЭ по информатике Демо 2025 - Задание 18 (Решение) 3

Для вертикальных подкрашенных полосок, Робот может попасть только сверху! Поэтому пишем формулу для ячейки, к примеру, для F28:


=F27+F7

Главное чётко определить, где у нас вертикальные полоски, а где горизонтальные. Здесь важно не запутаться.


Аналогично делаем для всех вертикальны подкрашенных полосок.


В ячейки для горизонтально подкрашенных полосок, Робот может попасть только слева! Поэтому пишем формулу, к примеру, для ячейки C31:


=B31+C10




Распространяем формулу по всей закрашенной строчке. Аналогично делаем со всеми горизонтальными полосками.


После того, как работа сделана, нужно отменить итоговые клетки, которые будут претендовать на ответ.


ЕГЭ по информатике Демо 2025 - Задание 18 (Решение) 4

Из всех угловых клеток выберем максимальное значение. Получается 2671.





Чтобы получить минимальную возможную сумму, в главной формуле функцию МАКС нужно заменить на МИН!


Удобно воспользоваться автоматической заменой через Ctrl+F.


ЕГЭ по информатике демоверсия 2022 - задание 18 (автоматическая замена)

Минимальная сумма равна 419.


Ответ:

2671419




Задание 19

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может: убрать из кучи два камня или убрать из кучи пять камней или уменьшить количество камней в куче в три раза (количество камней, полученное при делении, округляется до меньшего). Например, из кучи в 20 камней за один ход можно получить кучу из 18, 15 или 6 камней.

Игра завершается, когда количество камней в куче становится не более 19. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 19 или меньше камней. В начальный момент в куче было S камней, S ≥ 20.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.

Укажите минимальное значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом.


Решение:

Воспользуемся шаблонами, о которых говорили в статье из круса по подготовке к ЕГЭ по информатике 2025. В этой статье есть видео, как работать, когда камни не добавляют, а убирают.


def F(x, p):
    if x<=19 and p==3: return True
    if x>19 and p==3: return False
    if x<=19: return False
    if p%2!=0:
        return F(x-2, p+1) and F(x-5, p+1) and F(x//3, p+1)
    else:
        return F(x-2, p+1) or F(x-5, p+1) or F(x//3, p+1)

for s in range(20, 100):
    if F(s, 1):
        print(s)

Ответ получается 60.


Ответ: 60



Задание 20

Для игры, описанной в задании 19, найдите два наименьших значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

– Петя не может выиграть за один ход;

– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в ответе в порядке возрастания.


Решение:
def F(x, p):
    if x<=19 and p==4: return True
    if x>19 and p==4: return False
    if x<=19: return False
    if p%2==0:
        return F(x-2, p+1) and F(x-5, p+1) and F(x//3, p+1)
    else:
        return F(x-2, p+1) or F(x-5, p+1) or F(x//3, p+1)

for s in range(20, 100):
    if F(s, 1):
        print(s)

Ответ:
6263




Задание 21

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

– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.


Решение:
def F(x, p):
    if x<=19 and (p==3 or p==5): return True
    if x>19 and p==5: return False
    if x<=19: return False
    if p%2!=0:
        return F(x-2, p+1) and F(x-5, p+1) and F(x//3, p+1)
    else:
        return F(x-2, p+1) or F(x-5, p+1) or F(x//3, p+1)

def F1(x, p):
    if x<=19 and p==3: return True
    if x>19 and p==3: return False
    if x<=19: return False
    if p%2!=0:
        return F1(x-2, p+1) and F1(x-5, p+1) and F1(x//3, p+1)
    else:
        return F1(x-2, p+1) or F1(x-5, p+1) or F1(x//3, p+1)

for s in range(20, 100):
    if F(s, 1):
        print(s)
print()
for s in range(20, 100):
    if F1(s, 1):
        print(s)

Числа 60, 61 - не являются ответом, т.к. они получились и в первой функции, и во второй.


Ответ: 64

Разбор демоверсии ЕГЭ по информатике 2025 (1-7 Задания)
Разбор демоверсии ЕГЭ по информатике 2025 (8-14 Задания)
Разбор демоверсии ЕГЭ по информатике 2025 (22-27 Задание)




28-08-2024 в 21:30:56






Поддержать сайт:


Похожая статья:

ЕГЭ по информатике 2025 - Задание 23 (Чудо шаблон!)

Сегодня речь пойдёт о 23 задании из ЕГЭ по информатике 2025. Двадцать ...

Категория: Информатика  Подкатегория: ЕГЭ
Дата: 02-08-2024 в 09:31:27 0



Оставить коментарий:



Напишите email, чтобы получать сообщения о новых комментариях (необязательно):


Задача против робота. Расположите картинки горизонтально:




Нажимая кнопку Отправить, Вы соглашаетесь с политикой конфиденциальности сайта.