Укажите наименьшее целое значение параметра A, при котором для указанных входных данных программа напечатает «YES» четыре раза.
Решение.
Заметим, что программа напечатает «YES», если переменная t будет больше 12, а переменная s будет больше А.
Из первой части условия получаем, что при вводе значений s и t (1, 13) программа напечатает «YES» вне зависимости от значения A. При отрицательных значениях A программа будет выводить «YES» больше четырех раз.
Заметим, что при A = 1 программа напечатает «YES» семь раз, при 2 ≤ A ≤ 5 программа напечатает «YES» пять раз, а при A = 6 программа будет печатать «YES» четыре раза. Таким образом, ответ — 6.
Ответ: 6.
Приведем другое решение на языке Python.
def f(s, t, A): if (s > A) or (t > 12): return 1 else: return 0 a = ((13, 2), (11, 12), (-12, 12), (2, -2), (-10, -10), (6, -5), (2, 8), (9, 10), (1, 13)) kol = 0 for A in range(100): count = 0 for i in range(9): count += f(a[i][0], a[i][1], A) if count == 4: print(A) break
Примечание.
Логический оператор «OR» в процессе выполнения принимает значение «true», если x или y равен true; в противном случае — «false».
Укажите наименьшее целое значение параметра A, при котором для указанных входных данных программа напечатает «YES» четыре раза.
Решение.
Заметим, что программа напечатает «YES», если переменная t будет больше 12, а переменная s будет больше А.
Из первой части условия получаем, что при вводе значений s и t (1, 13) программа напечатает «YES» вне зависимости от значения A. При отрицательных значениях A программа будет выводить «YES» больше четырех раз.
Заметим, что при A = 1 программа напечатает «YES» семь раз, при 2 ≤ A ≤ 5 программа напечатает «YES» пять раз, а при A = 6 программа будет печатать «YES» четыре раза. Таким образом, ответ — 6.
Ответ: 6.
Приведем другое решение на языке Python.
def f(s, t, A): if (s A) or (t 12): return 1 else: return 0 a = ((13, 2), (11, 12), (-12, 12), (2, -2), (-10, -10), (6, -5), (2, 8), (9, 10), (1, 13)) kol = 0 for A in range(100): count = 0 for i in range(9): count += f(a[i][0], a[i][1], A) if count == 4: print(A) break
Примечание.
Логический оператор «OR» в процессе выполнения принимает значение «true», если x или y равен true; в противном случае — «false».
Источники:
ОГЭ по информатике 03.05.2024. Досрочная волна;
ОГЭ по информатике 10.06.2024. Основная волна. Вариант Умскул.