Задание №15
ЕГЭ-2023. Задание № 15
Тема: Знание основных понятий и законов математической логики Время выполнения 3 минуты.
Решение задания № 15 ЕГЭ-2023. Демо.
В файле приводится решение на трех я.п.. Кроме того, приводится алгоритм решения подобных задач.
Решение на я.п. Python:
for A in range(1,1001):
k=0
for x in range(1,301):
f1 = x%2 == 0
f2 = x%3 == 0
if (f1 <= (not(f2))) or x+A >=100:
k +=1
if k==300:
print(A)
break
Ответ: 94
Разбор типовых задач (задания №15)
Решение логических выражений
Условие задачи варианта 2306 О. Богданова
Для какого наименьшего целого неотрицательного числа А логическое выражение
(x ⩾ 27) \/ (2x < 3y) \/ (A > (x+2)(y-3))
тождественно истинно (т.е. принимает значение 1) при любых целых неотрицательных x и y?
Решение
Разделим логическое выражение на две части: изменяемую и неизменную:
не изменяемая часть: (x ⩾ 27) \/ (2x < 3y) = 0 (1)
изменяемая: (A > (x+2)(y-3)) = 1 (2)
Отсюда (1): (x<27) /\ (2x>=3y) = 1. Следовательно: x = 26, y <= 52/3 >> y = 17
Подставим значения в выражение (2): A > (26+2)*(17-3) = 28*14 >> A> 392, то есть, А=393.
2 способ решения: я.п.
for a in range(1,500):
k = 0
for x in range(1,101):
for y in range(1,101):
if (x>=27) or(2*x<3*y) or (a>(x+2)*(y-3)):
k +=1
if k == 10000:
print(a)
break
Самостоятельное решение задач:
Задача 1
Для какого наибольшего целого числа А формула
(x + 2y ≠ 60) \/ (A < y) \/ (y < x)
тождественно истинна, то есть принимает значение 1 при любых целых неотрицательных x и y?
ответ и решение
19
for A in range(200,0,-1):
k = 0
for x in range(1,101):
for y in range(1,101):
if (x + 2*y !=60) or (A<y) or (y<x):
k +=1
if k==10000:
print(A)
break
Задача 2
Для какого наименьшего целого числа А формула
(xy < A) \/ (x > y) \/ (y ≥ 9)
тождественно истинна, то есть принимает значение 1 при любых целых неотрицательных x и y?
ответ
65
Задача 3
Укажите наибольшее целое значение А, при котором выражение
(x < 40) \/ (y < 50) \/ (3x + 2y > A)
истинно для любых целых значений x и y.
ответ
219
Задача 4
Для какого наибольшего целого числа А формула:
(xy > A) \/ (x < y) \/ (y ≤ 9)
тождественно истинна, то есть принимает значение 1 при любых целых неотрицательных x и y?
ответ
99
Задача 5
Для какого наибольшего целого неотрицательного числа А выражение
(x ≥ A) \/ (y ≥ A) \/ (xy ≤ 200)
тождественно истинно, то есть принимает значение 1 при любых целых положительных x и y?
ответ
15
Задача 6
Для какого наибольшего целого неотрицательного числа А выражение
(x<A) /\ (y < A) /\ (xy>601)
тождественно истинно, то есть принимает значение 1 при любых целых положительных x и y?
ответ
25
Решение задач с DEL
Разберем решение задачи:
Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наибольшего натурального числа А формула
¬Дел(x, А) → (Дел(x, 6) → ¬Дел(x, 9))
тождественно истинна (то есть, принимает значение 1 при любом натуральном значении переменной x)?
Прежде, чем набирать текст программы, упростим ЛВ:
Обозначим:
Дел(х, А) как DA
Дел (х, 6) как D6
Дел(х, 9) как D9
DA + (¬D6 + ¬D9) = 1
Преобразуем наше выражение, используя свойство 1 (смотри презентацию "Основные свойства и законы") и правило де Моргана:
(D6 * D9) →DA
DНОК(6,9) → DA
D18 → DA
Таким образом, ответом к этой задаче будет число: 18
2 способ решения задачи: я.п.
# применяем преобразованное логическое выражение
def D(n,m):
if n % m == 0: return True
else: return False
for A in range(100,1,-1):
k = 0
for x in range(1,51):
if D(x,A) or (not D(x,6) or (not(D(x,9)))):
k +=1
if k == 50:
print(A)
break
Задача 2.
Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наименьшего натурального числа А формула:
(¬Дел(х,А) → (Дел(х,27) → ¬Дел(х,89))) /\ (А > 300)
тождественно истинна (то есть принимает значение 1) при любом натуральном значении переменной х?
1 способ (я.п. Python):
def D(x,k):
if x%k==0: return True
else: return False
for a in range(1,10001):
k = 0
for x in range(1,10001):
if (not(D(x,a)))<=(D(x,27)<=(not(D(x,89))))and(a>300):
k +=1
if k == 10000:
print(a)
break
2 способ (я.п. Python):
for a in range(301,1001):
f = True
for x in range(1,10001):
f1=not(x%a==0)
f2=x%27==0
f3=not(x%89)==0
f = f1 <= (f2 <= f3)
if not(f): break
if f:
print(a)
break
Ответ: 801
Задачи для самостоятельного решения
Задача 1.
Для какого наибольшего натурального числа А формула:
¬(A > 30) /\ (ДЕЛ(x,8) /\ ¬ДЕЛ(x,A) → ¬ДЕЛ(x, 10))
тождественно истинна (то есть принимает значение 1 при любом натуральном значении переменной х)?
ответ
20
Задача 2
Для какого наибольшего натурального числа А формула:
¬ДЕЛ(x, А) → (ДЕЛ(x,6) → ¬ДЕЛ(x,8))
тождественно истинна (то есть принимает значение 1 при любом натуральном значении переменной х)?
ответ
24
Задача 3.
Для какого наименьшего натурального числа А формула
(ДЕЛ(x, 12) → ¬ДЕЛ(x, 90)) ∨ (x + 2A ≥ 512)
тождественно истинна (то есть принимает значение 1 при любом натуральном значении переменной х)?
ответ
166
Задача 4
Для какого наименьшего натурального числа А формула
(ДЕЛ(x, А) ∧ ДЕЛ(x, 12)) → (ДЕЛ(x, 42) ∨ ¬ДЕЛ(x, 12))
тождественно истинна (то есть принимает значение 1 при любом натуральном значении переменной х)?
ответ
7