Задание №6 — Алгоритмы и программирование
Ниже приведена программа, записанная на пяти языках программирования.
Алгоритмический язык | Паскаль |
алг нач цел s, t, A ввод s ввод t ввод A если s > 10 или t > А то вывод "YES" иначе вывод "NO" все кон | var s, t, A: integer; begin readln(s); readln(t); readln(A); if (s > 10) or (t > А) then writeln('YES') else writeln('NO') end. |
Бейсик | Python |
DIM s, t, A 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, A; 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» пять раз.
Правильный ответ
11
Пояснение
Решение.
Разберём условие задачи. Программа принимает на вход три целых числа: , и . Основное условие в программе выглядит так: (s > 10) or (t > A). Программа выводит «YES», если выполняется хотя бы одно из условий, и «NO», если оба условия ложны одновременно.
Нам нужно найти такое целое значение , при котором слово «NO» будет напечатано ровно 5 раз. Слово «NO» печатается тогда, когда логическое выражение (s > 10) or (t > A) ложно. По законам логики это происходит, когда одновременно выполняются два условия:
1)
2)
Рассмотрим данные нам 9 пар чисел и проверим первое условие ():
1) : — Да (подходит для «NO»)
2) : — Нет (всегда будет «YES»)
3) : — Да (подходит для «NO»)
4) : — Нет (всегда будет «YES»)
5) : — Да (подходит для «NO»)
6) : — Да (подходит для «NO»)
7) : — Да (подходит для «NO»)
8) : — Да (подходит для «NO»)
9) : — Да (подходит для «NO»)
Мы видим, что пары №2 и №4 при любых значениях дадут ответ «YES», так как в них . Остаётся 7 пар, которые потенциально могут дать «NO». Нам нужно выбрать такое , чтобы из этих семи пар ровно в пяти выполнялось условие .
Выпишем значения для этих семи пар в порядке возрастания:
(пара 5), (пара 1), (пара 9), (пара 8), (пара 7), (пара 3), (пара 6).
Чтобы условие выполнилось ровно для 5 пар, значение должно быть больше или равно пятому числу в ряду, но меньше шестого.
Пятое число: .
Шестое число: .
Следовательно, .
Так как по условию задачи — целое число, единственным подходящим значением является .
Проверим: при условие выполняется для (5 значений). Для условие не выполнится.
Ответ: 11
Источник: ФИПИ