リストのベキ集合はよく知られています:
{1,2,3,4} is {{},{1},{2},{1,2},{3},{1,3},{2,3},{1,2,3},{4},{1,4},{2,4},{1,2,4},{3,4},{1,3,4},{2,3,4},{1,2,3,4}}
その問題に対して私が得た Haskell コードは次のとおりです。
potencia [] = [[]]
potencia (a:bs) = potencia bs ++ map (a:) (potencia bs)
では、同じ長さのサブリストのリストを取得するにはどうすればよいでしょうか?たとえば、上記のリストは、長さ 3 のサブリストの次のリストを生成します ={{1,2,3},{1,2,4},{1,3,4}}
私は学生です。英語で申し訳ありません。よろしくお願いします...XD