Opgave

Implementeer Python-functies voor het genereren van deelverzamelingen van {1..n} in lexicografische volgorde:

Voorbeelden

>>> subsetLexRank(3, {2, 3})
3
>>> subsetLexRank(8, {1, 3, 4, 6})
180
>>> subsetLexUnrank(3, 3)
{2, 3}
>>> subsetLexUnrank(8, 180)
{1, 3, 4, 6}
>>> subsetLexSuccessor(3, {2, 3})
{1}
>>> subsetLexSuccessor(3, {1, 2, 3})
"undefined"

Referentie