Re: Q: extract all k-tuple from a list of n elements

• To: mathgroup at smc.vnet.net
• Subject: [mg49730] Re: Q: extract all k-tuple from a list of n elements
• From: pnardon <pnardon at ulb.ac.be>
• Date: Thu, 29 Jul 2004 07:45:34 -0400 (EDT)
• References: <ce2fv9\$8rm\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Klaus Duellmann wrote:
> Question: How can I extract all k-tuple from a list of n elements
> (without considering permutations of the k-tuple)?
>
> Example: For the special case k=3 one solution would be
>
> Flatten[Table[{i, j, k}, {i, 1, n - 2}, {j, i + 1, n - 1}, {k, j + 1,
> n}], 2];
>
> A generalization of this solution for all k >=1 would involve to create
> 'automatically' a table of dimension k, but how can this be implemented?
>
> Any help is appreciated.
>
> Regards,
>
> Klaus
>
TuTu[el_, n_] := Map[Sort[Join[el, {#}]] &, Complement[Range[n], el]];

ZaZa[x_, n_] := Complement[Flatten[Map[Sort[TuTu[#, n]] &, x], 1], {}];

ZZZ[m_, n_] := Module[{tmp},
tmp = Complement[Flatten[Map[TuTu[{#}, n] &, Range[n]], 1], {}];
Nest[ZaZa[#, n] &, tmp, m - 2]]

ZZZ will give the answer (be carefull m>1)

m gives the dimensions that you want
n gives the range needed

In[395]:=
ZZZ[8,10]

Out[395]=
{{1,2,3,4,5,6,7,8},{1,2,3,4,5,6,7,9},{
1,2,3,4,5,6,7,10},{1,2,3,4,5,6,8,9},{1,2,3,4,5,6,8,10},{1,2,3,4,5,

6,9,10},{1,2,3,4,5,7,8,9},{1,2,3,4,5,7,8,10},{1,2,3,4,5,7,9,10},{1,2,3,4,

5,8,9,10},{1,2,3,4,6,7,8,9},{1,2,3,4,6,7,8,10},{1,2,3,4,6,7,9,10},{1,2,3,

4,6,8,9,10},{1,2,3,4,7,8,9,10},{1,2,3,5,6,7,8,9},{1,2,3,5,6,7,8,10},{1,2,

3,5,6,7,9,10},{1,2,3,5,6,8,9,10},{1,2,3,5,7,8,9,10},{1,2,3,6,7,8,9,10},{
1,2,4,5,6,7,8,9},{1,2,4,5,6,7,8,10},{1,2,4,5,6,7,9,10},{1,2,4,5,6,8,9,

10},{1,2,4,5,7,8,9,10},{1,2,4,6,7,8,9,10},{1,2,5,6,7,8,9,10},{1,3,4,5,6,
7,8,9},{1,3,4,5,6,7,8,10},{1,3,4,5,6,7,9,10},{1,3,4,5,6,8,9,10},{1,3,4,

5,7,8,9,10},{1,3,4,6,7,8,9,10},{1,3,5,6,7,8,9,10},{1,4,5,6,7,8,9,10},{2,
3,4,5,6,7,8,9},{2,3,4,5,6,7,8,10},{2,3,4,5,6,7,9,10},{2,3,4,5,

6,8,9,10},{2,3,4,5,7,8,9,10},{2,3,4,6,7,8,9,10},{2,3,5,6,7,8,9,10},{2,4,
5,6,7,8,9,10},{3,4,5,6,7,8,9,10}}

--
Pasquale Nardone

UniversitÂ? Libre de Bruxelles
Physique GÂ?nÂ?rale CP 231,
Sciences-Physique-AgrÂ?gation
Bld du Triomphe, 2
1050 Bruxelles, Belgium
tel:	+32.2.6505515
tel secr:	+32.2.6505618
fax:	+32.2.6505332

web: http://homepages.ulb.ac.be/~pnardon/
ou encore http://physinfo.ulb.ac.be/

```

• Prev by Date: Re: Combinations
• Next by Date: RE: Any ways to recover a broken file?
• Previous by thread: RE: Q: extract all k-tuple from a list of n elements
• Next by thread: Re: Q: extract all k-tuple from a list of n elements