Завдання
Напишіть функцію / програму, яка приймає
n
за параметр / вхід і друкує / повертає кількість топологій (що показано нижче) на наборі{1,2,...,n}
.
Визначення топології
Нехай X - будь-яке кінцеве безліч, і припустимо, що T, що є підмножиною набору потужностей X (тобто множина, що містить підмножини X), відповідає цим умовам :
X і порожній набір - у Т.
Якщо два множини U і V знаходяться в T, то об'єднання цих двох множин знаходиться в T.
Якщо два множини U і V знаходяться в T, то перетин цих двох множин знаходиться в T.
... тоді T називається топологією на X.
Технічні умови
Ваша програма:
- функція, яка приймається
n
як параметр - або програма, яка вводить
n
і друкує або повертає кількість (різних) топологій на наборі
{1,2,...,n}
.- функція, яка приймається
n
- це будь-яке невід'ємне ціле число, яке менше 11 (звичайно, немає жодної проблеми, якщо ваша програма обробляє n більше 11), а вихід - ціле додатне число.Ваша програма не повинна використовувати будь-які види бібліотечних функцій або нативних функцій, які безпосередньо обчислюють кількість топології.
Приклад введення (значення n): 7
Приклад виведення / повернення: 9535241
Ви можете перевірити свою повернуту вартість тут або тут .
Звичайно, виграє найкоротший код.
Переможець вирішений, однак я можу змінити переможця, якщо з'явиться коротший код.