Tâche
Écrivez une fonction / un programme qui prend
n
comme paramètre / entrée et imprime / renvoie le nombre de topologies (qui est illustré ci-dessous) sur l'ensemble{1,2,...,n}
.
Définition de la topologie
Soit X tout ensemble fini, et supposons que T, qui est un sous-ensemble de l'ensemble de puissance de X (c'est-à-dire un ensemble contenant des sous-ensembles de X), remplit ces conditions :
X et l' ensemble vide sont en T.
Si deux ensembles U et V sont en T, alors l' union de ces deux ensembles est en T.
Si deux ensembles U et V sont en T, alors l' intersection de ces deux ensembles est en T.
... alors T est appelé la topologie sur X.
Caractéristiques
Votre programme est soit:
- une fonction qui prend
n
comme paramètre - ou un programme qui saisit
n
et imprime ou renvoie le nombre de topologies (distinctes) sur l'ensemble
{1,2,...,n}
.- une fonction qui prend
n
est un entier non négatif inférieur à 11 (bien sûr, il n'y a pas de problème si votre programme gère n supérieur à 11), et la sortie est un entier positif.Votre programme ne doit utiliser aucun type de fonctions de bibliothèque ou de fonctions natives qui calcule directement le nombre de topologies.
Exemple d'entrée (valeur de n): 7
Exemple de sortie / retour: 9535241
Vous pouvez vérifier votre valeur de retour ici ou ici .
Bien sûr, le code le plus court gagne.
Le gagnant est décidé, cependant, je peux le changer si un code plus court apparaît.