Ниже приведена программа, записанная на пяти языках программирования.
| Бейсик | 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")
|
| Паскаль | Алгоритмический язык |
var s,t,A: integer; begin readln(s); readln(t); readln(A); if (s > A) or (t > 11) then writeln ('YES') else writeln ('NO') end.
| алг нач цел s, t, A ввод s ввод t ввод A если s > A или t > 11 то вывод "YES" иначе вывод "NO" все кон |
| С++ | |
#include <iostream> using namespace std; int main() { int s, t, A; cin >> s; cin >> t; cin >> A; if(s > A) or (t > 11) cout << "YES" << endl; else cout << "NO" << endl; return 0; } | |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(−9, 11); (2, 7); (5, 12); (2; −2); (7, −9); (12, 6); (9; −1); (7, 11); (11, −5).
Укажите наибольшее целое значение параметра A, при котором для указанных входных данных программа напечатает «NO» три раза.
Заметим, что программа напечатает «NO», если переменная t будет меньше или равна 11, а переменная s будет меньше или равна А.
Из первой части условия получаем, что при вводе значений s и t (5, 12) программа напечатает «YES» вне зависимости от значения A. При отрицательных значениях A программа будет выводить «YES» больше одного раза.
Заметим, что при −9 ≤ A ≤ 1 программа напечатает «NO» один раз, при 2 ≤ A ≤ 6 программа напечатает «NO» три раза, при 7 ≤ A ≤ 8 программа будет печатать «NO» пять раз, при 9 ≤ A ≤ 10 программа будет печатать «NO» шесть раз, при A = 11 программа будет печатать «NO» семь раз, а при A = 12 программа будет печатать «NO» восемь раз. Таким образом, ответ — 6.
Ответ: 6.
Приведем другое решение на языке Python.
def f(s, t, A):
if (s > A) or (t > 11):
return 0
else:
return 1
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):
count = 0
for i in range(9):
count += f(a[i][0], a[i][1], A)
if count == 3:
print(A)
break
-------------
Дублирует задание № 43525.



