ФИПИ · ОГЭ · все форматы ответа · 1585 заданий
Тип задачи: Анализ программы с ветвлением.
| КЭС: | 3.2 Язык программирования (Python, C++, Паскаль, Java, C#, Школьный Алгоритмический Язык). Система программирования: редактор текста программ, транслятор, отладчик. Переменная: тип, имя, значение. Целые, вещественные и символьные переменные. Оператор присваивания. Арифметические выражения и порядок их вычисления. Операции с целыми числами: целочисленное деление, остаток от деления. Ветвления. Составные условия (запись логических выражений на изучаемом языке программирования). Нахождение минимума и максимума из двух, трёх и четырёх чисел. Решение квадратного уравнения, имеющего вещественные корни. Цикл с условием. Алгоритм Евклида для нахождения наибольшего общего делителя двух натуральных чисел. Разбиение записи натурального числа в позиционной системе с основанием, меньшим или равным 10, на отдельные цифры. Цикл с переменной. Алгоритмы проверки делимости одного целого числа на другое, проверки натурального числа на простоту |
| Тип ответа: | Краткий ответ |
Ответ: 10
1. Разберём условие программы.
Сообщение YES выводится, когда условие истинно, а NO — когда оно ложно. Запишем проверяемое выражение словами:
(s больше 10 ИЛИ t больше A).
Операция И требует истинности обеих частей, ИЛИ — хотя бы одной; НЕ меняет истину на ложь и наоборот. Сначала выполняются сравнения и действия в скобках, затем соответствующие логические операции. Равенство граничному числу проверяем особенно внимательно.
2. Определим зависимость от A.
NO получается только тогда, когда обе части ИЛИ ложны: s ≤ 10 И t ≤ A. Условие s ≤ 10 выполняется в запусках 1, 3, 5, 6, 7, 8, 9. Остальные всегда дают YES и от A не зависят.
Выпишем значения t из подходящих запусков по возрастанию, сохраняя повторения:
−12, 2, 5, 10, 11, 12, 12.
Число сообщений NO равно количеству чисел этого списка, не превосходящих A. Повторы относятся к разным запускам, поэтому каждый учитывается отдельно. Число YES равно 9 минус число NO.
Требуемое количество сообщений NO — 4; соответствующее количество NO — 4. A должно быть не меньше числа на месте 4, равного 10, и меньше числа на месте 5, равного 11. Для целого A это даёт A = 10.
3. Выберем ответ из найденного диапазона.
Подходит целое значение A = 10. Диапазон учитывает все целые значения A, в том числе отрицательные; произвольного ограничения поиска нет.
4. Проверка.
Подставим A = 10 в исходную программу и проверим каждый запуск:
Запуск 1: (1; 2) — вывод NO.
Запуск 2: (11; 2) — вывод YES.
Запуск 3: (1; 12) — вывод YES.
Запуск 4: (11; 12) — вывод YES.
Запуск 5: (−11; −12) — вывод NO.
Запуск 6: (−11; 12) — вывод YES.
Запуск 7: (−12; 11) — вывод YES.
Запуск 8: (10; 10) — вывод NO.
Запуск 9: (10; 5) — вывод NO.
Получено 5 сообщений YES и 4 сообщения NO; требуемых NO — 4. При соседнем A = 9 сообщений NO уже 3. При соседнем A = 11 сообщений NO уже 5. При увеличении A число NO не уменьшается, а число YES не увеличивается, поэтому за границами найденного диапазона нужное количество не появится снова.
Ответ: 10.
Напишите пожелание к сайту или решению либо сообщите о найденной неточности в задании OGEINF890295.
Сообщение увидит только команда сайта: на странице оно не публикуется.
Комментарии к решению
Комментарии видны всем посетителям сайта.
Комментариев пока нет. Будьте первым.
Чтобы оставить комментарий, войдите или зарегистрируйтесь.