from itertools import combinations
def input_set(name):
numbers = input(f"Введите множество {name} через пробел: ")
return set(map(int, numbers.split()))
def powerset(s):
s = sorted(s)
result = []
for r in range(len(s) + 1):
for x in combinations(s, r):
result.append(set(x))
return result
A = input_set("A")
B = input_set("B")
C = input_set("C")
# Булеан
P_A = powerset(A)
# Множества варианта 6
D1 = A - C
D2 = (A | B | C) - (A | B)
# Бинарное отношение
D = set()
for x in D1:
for y in D1:
D.add((x, y))
print("\nБулеан P(A):")
for subset in P_A:
print(subset)
print("\nD1 =", sorted(D1))
print("D2 =", sorted(D2))
print("\nБинарное отношение D:")
print(sorted(D))
# Матрица отношения
elements = sorted(D1)
print("\nМатрица бинарного отношения D:")
print(" ", end="")
for x in elements:
print(x, end=" ")
print()
for x in elements:
print(x, " |", end=" ")
for y in elements:
if (x, y) in D:
print(1, end=" ")
else:
print(0, end=" ")
print()