decisive пишет:
Уравнения удобно перегруппировать:
(x1→x2) /\ (x2→x3) /\ ... /\ (x7→x8) = 1
(y1→y2) /\ (y2→y3) /\ ... /\ (y7→y8) = 1
(y1→x1) /\ (y2→x2) /\ ... /\ (y8→x8) = 1
В первом уравнении - только "иксы", во втором - только "игреки", они независимы. Третье уравнение - это уравнение связи.
Первое уравнение имеет 9 решений структуры "все нули, потом - все единицы":
X = x1 x2 ... x8 = 00000000, 00000001, 00000011, ..., 11111111
Второе - те же самые решения:
Y = y1 y2 ... y8 = 00000000, 00000001, 00000011, ..., 11111111
Третье уравнение определяет, как они стыкуются между собой. Если y
i = 1, то соответствующий x
i тоже должен быть равен 1. Поэтому
Y = 00000000 стыкуется со всеми
9-ю решениями X,
Y = 00000001 стыкуется с
8-ю решениями X, в которых последний бит = 1,
Y = 00000011 стыкуется с
7-ю решениями X, в которых последние 2 бита = 11,
...
Y = 11111111 стыкуется только с
одним X = 11111111.
Общее число решений равно 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 = 45.