Задание №15 ЕГЭ Информатика с ответом и решением
Ответ: 23
Условие
Сколько существует целых значений числа A, при которых формула
((x < 6) → (x2 < A)) ∧ ((y2 ≤ A) → (y ≤ 6))
тождественно истинна при любых целых неотрицательных x и y?
Подсказки — как подойти к решению
- Раскрой импликации и рассматривай скобки отдельно: x и y независимы, поэтому тождественная истинность нужна для каждой скобки в отдельности.
- Одна скобка даёт ограничение на A снизу (через наибольшее значение, при котором посылка ещё ложна), другая — сверху (через наименьшее значение, при котором ложно следствие).
- Следи за строгостью неравенств: где-то квадрат сравнивается строго, а где-то нестрого, поэтому границы получаются разными; собрав интервал, посчитай количество целых значений внутри него, а не его длину.
Решение
Раскрывая импликацию по правилу A → B = ¬A + B, заменяя логическую сумму совокупностью, а логическое произведение системой соотношений, определим значения параметра А, при котором система совокупностей
система выражений совокупность выражений x больше или равно 6,x в квадрате меньше A, конец системы . совокупность выражений y в квадрате больше A,y меньше или равно 6 конец совокупности . конец совокупности .
будет иметь решениями для любых целых неотрицательных чисел.
Заметим, что переменные не связаны между собой уравнением или неравенством, поэтому необходимо и достаточно, чтобы решениями первой совокупности были все неотрицательные х, а решениями второй совокупности были все неотрицательные y.
Решениями неравенства x больше или равно 6 являются числа 6, 7, 8, ... Чтобы совокупность выполнялась для всех целых неотрицательных чисел, числа 0, 1, 2, ... 5 должны быть решениями неравенства x в квадрате меньше A. Значит, A больше 25.
Аналогично, решениями неравенства y меньше или равно 6 являются числа 0, 1, ... 6. Следовательно, числа 7, 8, 9, ... должны быть решениями неравенства y в квадрате больше A. Поэтому A меньше 49.
Таким образом, 25 меньше A меньше 49. Искомое количество целых значений параметра равно 23.
Ответ: 23.
Приведём решение на языке Python.
count = 0
for a in range(1, 300):
k = True
for x in range(0, 300):
for y in range(0, 300):
if not(((x < 6) <= (x**2 < a)) and ((y**2 <= a) <= (y <= 6))):
k = False
break
if k:
count += 1
print(count)
Приведём решение Эли Шкурко на языке Python.
c = 0
def f(a, x, y):
return ((x < 6) <= (x**2 < a)) and ((y**2 <= a) <= (y <= 6))
for a in range(0, 100):
if all (f(a, x, y) == True for x in range(1, 100) for y in range(1, 100)):
c += 1
print(c)
Типичные ошибки
- В ответ попало наибольшее подходящее значение A вместо количества значений параметра. Перечитай вопрос задачи.
- Ошибка при подсчёте целых значений: при строгой границе крайнее значение A в интервал не входит, поэтому количество не равно длине интервала.
В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №15 по информатике