リストの順列・組み合わせを取得する
順列を取得するにはData.Listのpermutationsを使います。
code: (haskell)
import Data.List
1,2,3],2,1,3,3,2,1,2,3,1,3,1,2,[1,3,2 Data.Listには冪集合を求めるsubsequenceがあります。
subsequenceの返り値を長さでfilterしてやると、組み合わせが取得できます。
code: (haskell)
import Data.List
],1,2,1,2,3,1,3,2,3,[1,2,3 combinations n = filter ((== n) . length) . subsequences