fork download
  1. # Python 3
  2. # Введення: три рядки (A, B, C)
  3. # Кожен рядок: або "a b c", або "abc" (без пробілів)
  4.  
  5. def read_set(prompt=""):
  6. try:
  7. s = input(prompt).strip()
  8. except EOFError:
  9. s = ""
  10. if not s:
  11. return set()
  12. parts = s.split()
  13. # якщо введено через пробіли — кожен токен є символом або набором символів
  14. if len(parts) == 1:
  15. token = parts[0]
  16. # якщо це один символ або суцільний рядок, беремо кожен символ
  17. if len(token) >= 1:
  18. return set(ch for ch in token if ch != ' ')
  19. else:
  20. # багато частин — кожна частина може бути символом
  21. result = set()
  22. for p in parts:
  23. for ch in p:
  24. if ch != ' ':
  25. result.add(ch)
  26. return result
  27.  
  28. # Зчитуємо A, B, C
  29. print("Введіть множину A (наприклад: a b c або abc):")
  30. A = read_set()
  31. print("Введіть множину B:")
  32. B = read_set()
  33. print("Введіть множину C:")
  34. C = read_set()
  35.  
  36. # Обчислюємо перетин D
  37. D = A.intersection(B, C)
  38.  
  39. # Виводимо елементи у впорядкованому вигляді (щоб результат був детерміністичним)
  40. def print_set(name, s):
  41. sorted_elems = sorted(s)
  42. print(f"{name} = {{", end="")
  43. print(", ".join(sorted_elems), end="")
  44. print("}")
  45.  
  46. print_set("A", A)
  47. print_set("B", B)
  48. print_set("C", C)
  49. print_set("D = A ∩ B ∩ C", D)
  50.  
Success #stdin #stdout 0.11s 14116KB
stdin
Standard input is empty
stdout
Введіть множину A (наприклад: a b c або abc):
Введіть множину B:
Введіть множину C:
A = {}
B = {}
C = {}
D = A ∩ B ∩ C = {}