Правила игры следующие:
Вам дается список чисел. Между любыми двумя соседними числами нужно поставить ровно один знак. Этот знак может быть либо знаком одного из четырех математических действий (плюс "+", минус "-", умножить "×", разделить ":"), либо знаком равенства "=", причем последний (знак 'равно') должен в итоге быть использован ровно один раз. После того, как все числа соединены данными знаками, разрешается поставить сколь угодно много скобок "(", ")" между любыми символами. Задача в том, чтобы в результате получилось верное равенство.
Заметьте, что запрещено ставить знаки перед первым числом, а также больше одного знака действия или равенства между числами.
Также запрещено склеивать числа. Например, если даны числа 1, 2, 3 и 4, то нельзя составить пример 12 = 3×4, так как здесь "склеились" 1 и 2.
Менять числа местами также запрещено.
Пример:
В данном примере первая расстановка нарушила два правила: минус перед первым числом, два знака действия (умножить и минус) между числами 2 и 5.
Попробуйте сами расставить по данным правилам знаки в следующих задачах:
- 1, 2, 3
- 1, 2, 3, 4
- 1, 2, 3, 4, 5
- 1, 2, 3, 4, 5, 6
- 1, 2, 3, 4, 5, 6, 7
Если такая задача кажется скучной, можете написать программу, которая находит все возможные решения для заданного списка чисел.