众所周知,列表的powerset:
{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)
{{1,2,3},{1,2,4},{1,3,4}}
{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}}
现在,我如何获得相同长度的子列表列表?例如,上面的列表将生成下一个长度为3的子列表列表
potencia [] = [[]]
potencia (a:bs) = potencia bs ++ map (a:) (potencia bs)
我是学生,对不起我的英语,提前谢谢...... XD