Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Calculs de combinaisons.
Synopsis
- nCk :: Integral i => i -> i -> i
- combinOfRank :: Integral i => i -> i -> i -> [i]
- rankOfCombin :: Integral i => i -> [i] -> i
- permute :: [Int] -> [a] -> [a]
Documentation
combinOfRank :: Integral i => i -> i -> i -> [i] Source #
combinOfRank n k r
retourne les indices de permutation
de la combinaison de k
entiers parmi [1..n]
au rang lexicographique r
dans [0..
.nCk
n k - 1]
Construit chaque choix de la combinaison en prenant le prochain plus grand dont le successeur engendre un nombre de combinaisons qui dépasse le rang restant à atteindre.
DOC: http://www.site.uottawa.ca/~lucia/courses/5165-09/GenCombObj.pdf, p.26
rankOfCombin :: Integral i => i -> [i] -> i Source #
rankOfCombin n ns
retourne le rang lexicographique dans [0..
de la combinaison nCk
n (length ns) - 1]ns
d’entiers parmi [1..n]
.
WARNING: ns
doit être triée de manière ascendante.
Compte le nombre de combinaisons précédant celle de rang r
.
DOC: http://www.site.uottawa.ca/~lucia/courses/5165-09/GenCombObj.pdf, pp.24-25
rankOfCombin
n (combinOfRank
n k r) == rcombinOfRank
n (length
ns) (rankOfCombin
n ns) == ns