задача
Напишите функцию / программу, которая принимает
n
в качестве параметра / ввода и печатает / возвращает количество топологий (как показано ниже) в наборе{1,2,...,n}
.
Определение топологии
Пусть X - любое конечное множество, и предположим, что T, являющееся подмножеством множества степеней X (т. Е. Множества, содержащего подмножества X), удовлетворяет следующим условиям :
X и пустой набор находятся в T.
Если два множества U и V находятся в T, то объединение этих двух множеств находится в T.
Если два множества U и V находятся в T, то пересечение этих двух множеств находится в T.
... тогда T называется топологией на X.
Характеристики
Ваша программа либо:
- функция, которая принимает
n
в качестве параметра - или программа, которая вводит
n
и печатает или возвращает количество (различных) топологий в наборе
{1,2,...,n}
.- функция, которая принимает
n
это любое неотрицательное целое число, которое меньше 11 (конечно, нет проблем, если ваша программа обрабатывает n больше 11), и результат является положительным целым числом.Ваша программа не должна использовать какие-либо библиотечные функции или встроенные функции, которые вычисляют количество топологий напрямую.
Пример ввода (значение n): 7
Пример вывода / возврата: 9535241
Вы можете проверить возвращаемое значение здесь или здесь .
Конечно, выигрывает самый короткий код.
Победитель определен, однако я могу сменить победителя, если появится более короткий код.