Перебор без ошибок · тема 1 из 8
Таблица истинности без угадывания
Логика · ЕГЭ 2
Одна идея — один пример
Для трёх логических переменных есть 2³ = 8 наборов. Импликация x → y ложна только при x=1, y=0: в Python это (not x) or y.
x, y = 1, 0
print((not x) or y)
Теперь решаем самостоятельно
Перебирай именно наборы переменных. Скобки делают приоритет логики явным; ^ в Python — XOR, а не И.
Вводится n (1 ≤ n ≤ 8). Среди всех двоичных наборов длины n посчитай наборы с ровно двумя единицами.
Пример входных данных и результата
Ввод:
3
Вывод:
3
Черновик и файл программы
Черновик сохраняется в этом браузере. Ctrl/⌘ + S — сохранить.
Результаты проверки
Напиши решение и нажми «Проверить код». Данные каждого теста подаются автоматически.
Нужна подсказка?
Сумма нулей и единиц равна количеству единиц.
На чём легко ошибиться
product создаёт кортежи. Не сравнивай весь кортеж со строкой "11".
Разобрать один из способов решения
Сначала попробуй написать код сам. Сравни алгоритм, затем закрой разбор и воспроизведи решение без подсказки.
from itertools import product
n = int(input())
print(sum(sum(row) == 2 for row in product((0, 1), repeat=n)))Тесты проверяют результат на учебных примерах, но не доказывают правильность для любого входа. Объясни каждую строку и предложи собственный тест.
Перед следующей темой
Назови входные данные, результат, основной шаг алгоритма и граничный случай. Если использовал разбор, напиши решение заново. Для свободных экспериментов открой Python онлайн.
Все темы этого курса
Программа подготовлена по темам банка «Академии С». Официальные документы: ФИПИ. Справочник языка: Python. Не все экзаменационные задачи нужно решать программой: например, работа в таблицах требует освоения табличного редактора.