Алгоритмы и рекурсия · тема 7 из 8
Кванторы на конечной модели
Логические выражения · ЕГЭ 15
Одна идея — один пример
all(...) означает «для каждого проверенного значения», any(...) — «хотя бы для одного». Проверка конечного диапазона не доказывает утверждение для всех целых без обоснования границ.
print(all(x < 5 for x in [1, 4, 7]))
Теперь решаем самостоятельно
Во вложенном переборе сначала выбери параметр A, затем проверь условие для всех допустимых x. Для минимального A перебирай по возрастанию.
Вводится целое n от 1 до 100. Найди минимальное целое A от 0 до n, при котором для каждого целого x от 0 до n выполнено: (x <= A) или (x > n//2).
Пример входных данных и результата
Ввод:
10
Вывод:
5
Черновик и файл программы
Черновик сохраняется в этом браузере. Ctrl/⌘ + S — сохранить.
Результаты проверки
Напиши решение и нажми «Проверить код». Данные каждого теста подаются автоматически.
Нужна подсказка?
Значения x <= n//2 должны попадать в левую часть дизъюнкции.
На чём легко ошибиться
Замена all на any проверяет совсем другое утверждение.
Разобрать один из способов решения
Сначала попробуй написать код сам. Сравни алгоритм, затем закрой разбор и воспроизведи решение без подсказки.
n = int(input())
for a in range(n + 1):
if all(x <= a or x > n // 2 for x in range(n + 1)):
print(a)
breakТесты проверяют результат на учебных примерах, но не доказывают правильность для любого входа. Объясни каждую строку и предложи собственный тест.
Перед следующей темой
Назови входные данные, результат, основной шаг алгоритма и граничный случай. Если использовал разбор, напиши решение заново. Для свободных экспериментов открой Python онлайн.
Все темы этого курса
Программа подготовлена по темам банка «Академии С». Официальные документы: ФИПИ. Справочник языка: Python. Не все экзаменационные задачи нужно решать программой: например, работа в таблицах требует освоения табличного редактора.