Задание №15 ЕГЭ Информатика с ответом и решением
Ответ: 21
Условие
Для какого наименьшего целого неотрицательного числа A выражение
(2m + 3n > 40) ∨ ((m < A) ∧ (n ≤ A))
тождественно истинно при любых целых неотрицательных m и n?
Подсказки — как подойти к решению
- Ложь возможна только если первое условие нарушено, а во второй скобке хотя бы одно неравенство не выполнено. Опасные точки — целые неотрицательные пары под заданной прямой.
- Скобка — это конъюнкция, поэтому она ложна и при большом m, и при большом n. Проверь обе возможности отдельно: порог определяет самая дальняя опасная пара.
Решение
Решим задачу графически. Условие (2m + 3n > 40) задаёт множество, отмеченное на рисунке закрашенной областью. Чтобы исходное выражение было тождественно истинно для любых целых и неотрицательных m и n, прямые m ≤ A и n < A должны образовывать прямой угол на прямой m = n, вершина которого лежит таким образом, чтобы незакрашенная область была ниже и левее. Следовательно, они должны образовывать прямой угол, пересекаясь в точке (21, 21). Таким образом, наименьшее значение A равняется 21.
Ответ: 21.
Примечание.
Обратим внимание читателей, использующих программный способ решения этой и подобных задач, что в условии говорится о неотрицательных числах, поэтому перебор значений переменных m и n должен производиться от 0, а не от 1.
Приведём решение на языке Python.
for a in range(0, 300):
k = 0
for m in range(0, 300):
for n in range(0, 300):
if (2*m + 3*n > 40) or ((m < a) and (n <= a)):
k += 1
if k == 90_000:
print(a)
break
Приведём решение Михаила Глинского на языке Python.
for a in range(100):
flag = 1
for m in range(100):
for n in range(100):
f = ((2*m+3*n) > 40) or ((m < a) and (n <= a))
if f == 0:
flag = 0
break
if flag:
print(a)
break
Приведём решение Полины Егрушовой на языке Python.
m = []
def f(m,n,a):
return (2*m+3*n>40) or ((m<a) and (n<=a))
for a in range (0,1000):
if all(f(m,n,a)==1 for m in range (0,100) for n in range (0,100)):
m.append(a)
print(min(m))
Типичные ошибки
- Порог на единицу ниже нужного: находится целая пара, где первое условие уже ложно, а скобка не спасает из-за m. Проверь пары с большим m и малым n.
В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №15 по информатике