Задание №6 — Алгоритмы и программирование
Ниже приведена программа, записанная на пяти языках программирования.
Алгоритмический язык | Паскаль |
алг нач цел s, t, A ввод s ввод t ввод A если s > А или t > 11 то вывод "YES" иначе вывод "NO" все кон | var s, t, A: integer; begin readln(s); readln(t); readln(A); if (s > А) 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 > А OR t > 11 THEN PRINT "YES" ELSE PRINT "NO" ENDIF | s = int(input()) t = int(input()) A = int(input()) if (s > А) or (t > 11): print("YES") else: print("NO") |
C++ | |
#include <iostream> using namespace std; int main(){ int s, t, A; cin >> s; cin >> t; cin >> A; if (s >А || 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).
Укажите наибольшее целое значение параметра А, при котором для указанных входных данных программа напечатает «YES» четыре раза.
Правильный ответ
8
Пояснение
Решение.
Разберём условие задачи. Программа выводит «YES», если истинно хотя бы одно из двух условий: или . Если оба условия ложны, программа выводит «NO».
Нам дано 9 пар чисел :
1)
2)
3)
4)
5)
6)
7)
8)
9)
Сначала проверим второе условие , так как оно не зависит от параметра .
Выпишем пары, для которых :
Пара №3: , здесь — истина. Программа напечатает «YES».
Для всех остальных пар , значит, результат для них зависит только от первого условия .
Нам нужно, чтобы «YES» было выведено ровно 4 раза. Один раз уже есть (пара №3). Значит, среди оставшихся 8 пар условие должно выполниться ровно для 3 пар.
Выпишем значения для оставшихся 8 пар в порядке убывания, чтобы понять, при каких условие сработает для трёх самых больших значений:
1) (пара №6)
2) (пара №9)
3) (пара №7)
4) (пары №5 и №8)
5) (пары №2 и №4)
6) (пара №1)
Чтобы условие выполнилось ровно для трёх значений , это должны быть числа , и .
Следовательно, число должно быть больше , а следующее по величине число () уже не должно быть больше .
Запишем это в виде системы неравенств:
Из первого неравенства получаем . Наибольшее целое число, удовлетворяющее этому условию, — это .
Проверим: если , то условие верно для (3 пары). Вместе с парой, где , получаем ровно 4 «YES».
Ответ: 8
Источник: ФИПИ