Найти тему

Разбор задачу 16381 #kege по информатике #ЕГЭ15 номера

Автор: ЕГКР 27.04.24

Уровень: Базовый

Условие задачи:

Для какого наибольшего натурального числа А логическое выражение

¬ДЕЛ(x, А) → (ДЕЛ(x, 28) → ¬ДЕЛ(x, 49))

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

Теоретическая справка:

Очень хорошая задачка, так как мы можем заменить функцию ДЕЛ на запись x % A == 0, таким образом можем избегать использование логического оператора not.

Код решения:

Ответ: 196
Ответ: 196

Комментарии к коду:

  1. def F(x, A):
    Определяем функцию F, принимающую два аргумента: x и A.
  2. return (x % A != 0) <= ((x % 28 == 0) <= (x % 49 != 0))
    Возвращаем результаты логического выражения, сравнивая значения остатков от деления x на A, 28 и 49 с использованием логических операторов.
  3. R = []
    Инициализируем пустой список R, который будет содержать все значения A, удовлетворяющие определенному условию.
  4. for A in range(1, 10000):
    Запускаем цикл по всем целым числам A от 1 до 9999 включительно.
  5. if all(F(x, A) for x in range(1, 10000)):
    Проверяем, выполняется ли функция F для всех целых чисел x от 1 до 9999 для текущего A.
  6. R.append(A)
    Если условие на предыдущей строке истинно, добавляем значение A в список R.
  7. print(max(R))
    Находим и выводим максимальное значение из списка R.

Информатика ЕГЭ | itpy 🧑‍💻

Второй канал про теорию Python