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