Re: combinations

• To: mathgroup at smc.vnet.net
• Subject: [mg16836] Re: combinations
• From: tobiasoed at my-dejanews.com
• Date: Thu, 1 Apr 1999 21:35:17 -0500
• Organization: Deja News - The Leader in Internet Discussion
• Sender: owner-wri-mathgroup at wolfram.com

```"R.B." <raulber at teleline.es> wrote
>Hi. How can i get a list of combinations for a group of 'm' elements  taken
>of 'n' in 'n', using mathematica 2.2.
>Thanks
This does the job:

TakeOneMore[result_,RestElements_]:=Module[{element},
Map[(element=#;Map[Append[#,element]&,result])&,RestElements]
]

TakeNrecurse[n_,result_,RestElements_]:=(
Flatten[
MapIndexed[
TakeNrecurse[n-1,#,Drop[RestElements,First[#2]]]&
,
TakeOneMore[result,Drop[RestElements,-(n-1)]]
]
,
1
]
)

TakeNrecurse[1,result_,RestElements_]:=Flatten[TakeOneMore[result,RestElements],1]

TakeN[n_,AllElements_]:=TakeNrecurse[n,{{}},AllElements]

Here is an example:

In[7]:= TakeN[3,{a,b,c,d,e}]
Out[7]=
{{a, b, c}, {a, b, d}, {a, b, e}, {a, c, d}, {a, c, e}, {a, d, e}, {b, c, d},

>   {b, c, e}, {b, d, e}, {c, d, e}}

enjoy Tobias

-----------== Posted via Deja News, The Discussion Network ==----------