1. 順列の意味 順列 – Wikipedia によると、 組合せ数学における順列(じゅんれつ、permutation)は、あるひとつの集合から要素を選び出して、順番に意味を持たせて並べる (ordering) ときの、その並び(ordered list, sequence; 有限列)のことである。 うーん、ややこしそう。 (+_+) 数学苦手。どうやって生成するんだろう。 2. アルゴリズム 順列の生成とList内包表記 - 趣味的にっき によると、 与えられたリストから要素を1つ取り出して、残りの要素から再帰的に順列を求めて、それらを結合するアルゴリズムです。 (…) まずHaskellの場合。 (…) perms :: Eq a => [a] -> [[a]] perms [] = [[]] perms xs = [ h : t | h <- xs, t <- perms (xs \