任务
编写一个函数/程序,该函数/程序将其
n
作为参数/输入并打印/返回集合上的拓扑数(如下所示){1,2,...,n}
。
拓扑定义
令X为任意有限集,并假设T是X 的幂集的子集(即,包含X的子集的集合)满足以下条件:
...然后T称为X上的拓扑。
技术指标
您的程序是:
- 一个函数,它接受
n
作为参数 - 或输入
n
并打印或返回set上(不同)拓扑的数量
{1,2,...,n}
。- 一个函数,它接受
n
是小于11的任何非负整数(当然,如果您的程序处理的n大于11也没有问题),并且输出是一个正整数。您的程序不应使用任何类型的库函数或本机函数来直接计算拓扑数。
输入示例(n的值): 7
输出/返回示例: 9535241
当然,最短的代码胜出。
获胜者已确定,但是,如果出现较短的代码,我可能会更改获胜者。
它是否必须在本世纪给出结果,还是正确性证明足够好?
—
彼得·泰勒
@Peter实际上,我不知道需要多长时间。因此,程序的正确性证明足够好,但是如果n较小,如4〜5,程序仍应在合理的时间内给出结果。
—
JiminP 2011年
@JiminP,似乎在n = 12时进行计算在今天值得一纸,而且没有已知的公式。我怀疑用强力在几分钟内就能实现4或5。
—
彼得·泰勒
2 ^ X的不正确子集是否也是拓扑?
—
FUZxxl 2011年
@FUZxxl:是的。我认为这就是离散拓扑。
—
JiminP 2011年