Скрипт для решения задачи 23
(системы логических уравнений)

А. Жуков

Найти число решений системы логических уравнений. Необходимо описать все(!) уравнения системы. Переменные могут состоять из любого количества латинских символов и цифр и начинаются с латинской буквы. Каждое уравнение задается на новой строке. Для задания операций используйте следующие символы (пробелы игнорируются):

Ввод данных для расчета:


Примеры работы (нажмите для расчета):

Задания взяты и проверены с сайта К. Полякова

(x1 + x2) * (x1 * x2 - x3) * (!x1 + y1) = 1
(x2 + x3) * (x2 * x3 - x4) * (!x2 + y2) = 1
(x3 + x4) * (x3 * x4 - x5) * (!x3 + y3) = 1
(x4 + x5) * (x4 * x5 - x6) * (!x4 + y4) = 1
(x5 + x6) * (x5 * x6 - x7) * (!x5 + y5) = 1
(x6 + x7) * (x6 * x7 - x8) * (!x6 + y6) = 1
(x7 + x8) * (!x7 + y7) = 1
!x8 + y8 = 1
(x1 * y1) = (!x2 + !y2)
(x2 * y2) = (!x3 + !y3)
(x3 * y3) = (!x4 + !y4)
(x4 * y4) = (!x5 + !y5)
(x5 * y5) = (!x6 + !y6)
(x1 * x2) + (x1 + x3) * (x1 + y1)=0
(x2 * x3) + (x2 + x4) * (x2 + y2)=1
(x3 * x4) + (x3 + x5) * (x3 + y3)=0
(x4 * x5) + (x4 + x6) * (x4 + y4)=1
(x5 * x6) + (x5 + x7) * (x5 + y5)=0
(x6 * x7) + (x6 + x8) * (x6 + y6)=1
(x1 - x2) * (x2 - x3) * (x3 - x4) = 1
(y1 - y2) * (y2 - y3) * (y3 - y4) = 1
(z1 - z2) * (z2 - z3) * (z3 - z4) = 1
x1 * y2 * z3 = 0
!(x1 = x2) * !(x1 = x3) * (x2 = x3) = 0
!(x3 = x4) * !(x3 = x5) * (x4 = x5) = 0
!(x5 = x6) * !(x5 = x7) * (x6 = x7) = 0
!(x7 = x8) * !(x7 = x9) * (x8 = x9) = 0
(x1 + y1) * ((x2 * y2) - (x1 * y1)) = 1
(x2 + y2) * ((x3 * y3) - (x2 * y2)) = 1
(x3 + y3) * ((x4 * y4) - (x3 * y3)) = 1
(x4 + y4) * ((x5 * y5) - (x4 * y4)) = 1
(x5 + y5) * ((x6 * y6) - (x5 * y5)) = 1
x6 + y6 = 1
(x1 - x2) * (x2 - x3) = 1
!x1 * y1 * z1 + x1 * !y1 * z1 + x1 * y1 * !z1 = 1
!x2 * y2 * z2 + x2 * !y2 * z2 + x2 * y2 * !z2 = 1
!x3 * y3 * z3 + x3 * !y3 * z3 + x3 * y3 * !z3 = 1
(x1 - x2) * (x3 - x4 - x5 - x6) = 0
(y1 - y2 - y3) * (y4 - y5 - y6) = 1
(x2 - y2) * (x3 - y3) = 1