0 0

请教一个Erlang实现排列组合的问题10

刚刚学习 programming erlang 的3.6.3节, 它实现了一个字符串的排列组合;

perms([]) ->    
    [[]];
perms(L) ->
    [[H|T] || H <- L, T <- perms(L -- [H])].

给出一个字符串,比如 1,2,3 会得到  [[1,2,3],[1,3,2],[3,2,1],......]等

我想改变一下功能:只剩成固定长度的列表,比如 长度为3。
生成的列表中  每个字符只出现一次 比如:输入的字符串时 1,2,3,4   输出的字符串中  1,2,3  和 3,2,1 都作为同一个字符串  不在重复输出

改怎么修改这个程序呢?  想了一晚上 也知道该如何修改   

感觉我还没有think in erlang,  遇到问题的时候 很难考虑如何使用函数式编程来解决
请教过来人   指点一下 怎样尽快入门呀?

2008年12月10日 23:12
目前还没有答案

相关推荐

Global site tag (gtag.js) - Google Analytics