Задание №6 — Алгоритмы и программирование
Ниже приведена программа, записанная на пяти языках программирования.
Алгоритмический язык | Паскаль |
алг нач цел s, t, А ввод s ввод t ввод A если s > 10 или t > А то вывод "YES" иначе вывод "NO" все кон | var s,t, А: integer; begin readln(s); readln(t); readln(A); if (s > 10) or (t > А) then writeln('YES') else writeln('NO') end. |
Бейсик | Python |
DIM s, t, А AS INTEGER INPUT s INPUT t INPUT A IF s > 10 OR t > А THEN PRINT "YES" ELSE PRINT "NO" ENDIF | s = int(input()) t = int(input()) A = int(input()) if (s > 10) or (t > А): print("YES") else: print("NO") |
C++ | |
#include <iostream> using namespace std; int main(){ int s, t, А; cin >> s; cin >> t; cin >> A; if (s > 10 || t >А) cout << "YES" << endl; else cout << "NO" << endl; return 0; } | |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(1, 2); (11, 2); (1, 12); (11, 12); (–11, –12); (–11, 12); (–12, 11); (10, 10); (10, 5).
Укажите наименьшее целое значение параметра А, при котором для указанных входных данных программа напечатает «NO» семь раз.
Правильный ответ
12
Пояснение
Решение.
Разберём условие задачи. Программа выводит «YES», если выполняется хотя бы одно из двух условий: или . В противном случае (если оба условия ложны) программа выводит «NO».
Нам нужно найти такое минимальное целое значение , при котором программа выведет «NO» ровно 7 раз для заданных 9 пар чисел .
Условие вывода «NO» — это отрицание условия «YES». То есть должны одновременно выполняться два неравенства:
1)
2)
Рассмотрим все 9 запусков и проверим первое условие ():
1) (1, 2): — Истина.
2) (11, 2): — Ложь. (Программа всегда выведет «YES», так как ).
3) (1, 12): — Истина.
4) (11, 12): — Ложь. (Программа всегда выведет «YES», так как ).
5) (–11, –12): — Истина.
6) (–11, 12): — Истина.
7) (–12, 11): — Истина.
8) (10, 10): — Истина.
9) (10, 5): — Истина.
Мы видим, что в запусках №2 и №4 первое условие ложно, значит, в этих случаях программа всегда выведет «YES» независимо от значения . Остаётся 7 запусков (№1, 3, 5, 6, 7, 8, 9), в которых результат зависит от значения . Чтобы программа вывела «NO» ровно 7 раз, во всех этих оставшихся запусках должно выполняться второе условие: .
Выпишем значения для этих 7 запусков:
№1:
№3:
№5:
№6:
№7:
№8:
№9:
Чтобы для всех этих пар выполнилось условие , значение должно быть не меньше самого большого из этих чисел .
Максимальное значение среди выписанных : .
Следовательно, должно выполняться условие . Наименьшее целое число, удовлетворяющее этому неравенству, — это 12.
Ответ: 12
Источник: ФИПИ