Ctrl K

Собрать 24

Сложная
Вам выпали четыре карты с числами cards. Нужно составить из них арифметическое выражение со значением ровно 24. Каждую карту используйте ровно один раз, порядок карт любой. Правила: - доступны +, -, *, / и скобки в любом количестве; - деление обычное, не целочисленное: например, 4 / (1 − 2 / 3) = 12; - каждая операция применяется к двум числам — унарного минуса нет, -1 - 1 - 1 - 1 писать нельзя; - склеивать карты в многозначное число нельзя: из 1 и 2 не получится 12. Верните True, если такое выражение существует, и False иначе.
Пример 1
cards=[3, 3, 8, 8] → True

8 / (3 − 8 / 3) = 8 / (1/3) = 24. Без дробей здесь не обойтись.

Пример 2
cards=[1, 1, 1, 1] → False

Больше 4 из четырёх единиц не получить: максимум — (1 + 1) · (1 + 1) = 4.

Пример 3
cards=[2, 3, 4, 1] → True

(1 + 2 + 3) · 4 = 24.

Ограничения
  • len(cards) = 4
  • 1 ≤ cards[i] ≤ 13
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЦепочки с квадратными суммами СложнаяБуквенный ребус на сложение СложнаяЧестный раздел цветных бусин СложнаяXOR каждого подмножества ЛёгкаяМеньше всего прямых через точки Средняя
загружаем Python…
Вход
cards=[3, 3, 8, 8]
Ожидается
True

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 112 тестов на сервере, включая скрытые.