Ниже приведена программа, записанная на пяти языках программирования.
| Алгоритмический язык | Паскаль |
|---|---|
алг нач цел s, t, A Ввод s ввод t Ввод A если s > А или t > 11 то вывод "YES" иначе вывод "NO" все кон | var s, t, A: integer; begin readln (s); readln(t) readin (A) if (s > A) or (t > 11) then writeln("YES") else writeln("NO") end.
|
| Бейсик | Python |
DIM s, t, A AS INTEGER INPUT s INPUT t INPUT A IF s > A OR t > 11 THEN PRINT "YES" ELSE PRINT "NO" ENDIF
| s = int (input ()) t = int (input ()) A = int(input ()) if (s > A) or (t > 11): print ("YES") else: print("NO") |
| С++ | |
#include using namespace std; int main () { int s, t, A; cin >> s; cin >> t; cin >> A; if (s > A || t > 11) cout << "YES" << endl; else cout << "NO" << endl; return 0; } | |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(
Укажите наибольшее целое значение параметра А, при котором для указанных входных данных программа напечатает «YES» шесть раз.
Заметим, что программа напечатает «YES», если переменная t будет больше 11, а переменная s будет больше А.
Из первой части условия получаем, что при вводе значений s и t (5, 12) программа напечатает «YES» вне зависимости от значения A. При отрицательных значениях A программа будет выводить «YES» больше трех раз.
Заметим, что при A = 1 программа напечатает «YES» восемь раз, при 2 ≤ A ≤ 4 программа напечатает «YES» пять раз, а при A = 6 программа будет печатать «YES» шесть раз. Таким образом, ответ — 6.
Ответ: 6.
Приведем другое решение на языке Python.
def f(s, t, A):
if (s > A) or (t > 11):
return 1
else:
return 0
a = ((-9, 11), (2, 7), (5, 12), (2, -2), (7, -9), (12, 6), (9, -1), (7, 11), (11, -5))
kol = 0
for A in range(100, 0, -1):
count = 0
for i in range(9):
count += f(a[i][0], a[i][1], A)
if count == 6:
print(A)
break
Примечание.
Логический оператор «OR» в процессе выполнения принимает значение «true», если x или y равен true; в противном случае — «false».



