Решение: Условие в программе
Ниже приведена программа, записанная на пяти языках программирования. Программа получает значения переменных $s$, $t$ и $A$ и выводит «YES», если выполняется условие $s > A$ или $t > 12$, и «NO» в противном случае.
Было проведено 9 запусков программы, при которых в качестве значений переменных $s$ и $t$ вводились следующие пары чисел: $(13, 2)$; $(11, 12)$; $(-12, 12)$; $(2, -2)$; $(-10, -10)$; $(6, -5)$; $(2, 8)$; $(9, 10)$; $(1, 13)$.
Укажите наибольшее целое значение параметра $A$, при котором для указанных входных данных программа напечатает «NO» пять раз.
Решение по шагам
4 шагаПрограмма печатает «NO», когда условие в операторе if ложно. Это означает, что одновременно выполняются неравенства $s \leq A$ и $t \leq 12$.
$$$s \leq A \land t \leq 12$$$Последняя пара $(1, 13)$ не может дать «NO», так как $t > 12$. Для остальных восьми пар учитываем значения $s$: $13, 11, -12, 2, -10, 6, 2, 9$.
При $A = 8$ условию $s \leq A$ соответствуют пять значений: $-12, 2, -10, 6, 2$. Значения $9, 11$ и $13$ условию не соответствуют.
При увеличении $A$ до $9$ значение $s = 9$ также начинает удовлетворять условию, поэтому количество выводов «NO» становится равным шести. Следовательно, наибольшее подходящее значение — $8$.
$$$A = 8$$$Где здесь ошибаются
Учитывать пару $(1, 13)$ среди запусков с выводом «NO».
Проверять только условие $s \leq A$ и забывать об ограничении $t \leq 12$.
Выбрать $A = 9$, не заметив, что тогда число выводов «NO» увеличивается до шести.