Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
9
Task/Combinations/Erlang/combinations-1.erl
Normal file
9
Task/Combinations/Erlang/combinations-1.erl
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
-module(comb).
|
||||
-compile(export_all).
|
||||
|
||||
comb(0,_) ->
|
||||
[[]];
|
||||
comb(_,[]) ->
|
||||
[];
|
||||
comb(N,[H|T]) ->
|
||||
[[H|L] || L <- comb(N-1,T)]++comb(N,T).
|
||||
13
Task/Combinations/Erlang/combinations-2.erl
Normal file
13
Task/Combinations/Erlang/combinations-2.erl
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
-module(comb).
|
||||
-export([combinations/2]).
|
||||
|
||||
combinations(K, List) ->
|
||||
lists:last(all_combinations(K, List)).
|
||||
|
||||
all_combinations(K, List) ->
|
||||
lists:foldr(
|
||||
fun(X, Next) ->
|
||||
Sub = lists:sublist(Next, length(Next) - 1),
|
||||
Step = [[]] ++ [[[X|S] || S <- L] || L <- Sub],
|
||||
lists:zipwith(fun lists:append/2, Step, Next)
|
||||
end, [[[]]] ++ lists:duplicate(K, []), List).
|
||||
Loading…
Add table
Add a link
Reference in a new issue