Opgave

Implementeer Python-functies voor het genereren van deelverzamelingen van {1..n} geordend volgens stijgende cardinaliteit van de deelverzamelingen, en binnen eenzelfde cardinaliteit in lexicografische volgorde.

Voorbeelden

>>> subsetSizeLexRank(3, {2, 3})
6
>>> subsetSizeLexRank(8, {1, 3, 4, 5})
108
>>> subsetSizeLexUnrank(3, 6)
{2, 3}
>>> subsetSizeLexUnrank(8, 108)
{1, 3, 4, 5}
>>> subsetSizeLexSuccessor(3, {2, 3})
{1, 2, 3}
>>> subsetSizeLexSuccessor(3, {1, 2, 3})
"undefined"

Referentie