An algorithm which could easily implemented as a worksheet function is the 
following:

How to compute the lexicographically next combination from a given combination
(k taken from n):
a) If the rightmost number in the row is  less than n, create a new combination
keeping all the numbers to the left of it and increasing the rightmost number 
by 1.
b) If the rightmost number is n, search the rightmost number whose right 
neighbor
is at least this number + 2. Increase this number by 1 and complete the row by 
number+2, number+3 until you have a row with k numbers.
If no such number exists, there is no next combination.

Start with 1,2,3..k and compute the next combination for each combination

Example (3 out of 5)

1,2,3: 3<5, therefore rule a applies, next is 1,2,4
1,2,4: 4<5, therefore rule a applies, next is 1,2,5
1,2,5: apply rule b). 2<5, therefore 2 can be increased, next is 1,3,4

3,4,5
No way of creating a next combination, so this is the last one.










On Jul 31, 2010, at 3:31 PM, Prof. John C Nash wrote:

> Slightly off-gnumeric, R (www.r-project.org) with which Gnumeric has had 
> friendly exchanges, can do the job:
> 
> > combn(5,2)
>     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
> [1,]    1    1    1    1    2    2    2    3    3     4
> [2,]    2    3    4    5    3    4    5    4    5     5
> >
> 
> In the past there were some ways to call R from Gnumeric, but I fear they are 
> not currently functional, buy welcome correction on that.
> 
> John Nash
> 
> On 10-07-31 08:00 AM, [email protected] wrote:
>> Date: Fri, 30 Jul 2010 11:02:35 -0400
>> From: Morten Welinder<[email protected]>
>> To: yannis yannis<[email protected]>
>> Cc: [email protected]
>> Subject: Re: COMBIN
>> Message-ID:
>>      <[email protected]>
>> Content-Type: text/plain; charset=ISO-8859-1
>> 
>>> Is there any way to know which are these combinations?
>>> Any advise could be very helpful. Thank you for your time!
>> 
>> Not via Gnumeric, but http://en.wikipedia.org/wiki/Combination
>> is a good start.  Note the first external reference:
>> http://compprog.wordpress.com/2007/10/17/generating-combinations-1/
>> 
>> Morten
> _______________________________________________
> gnumeric-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/listinfo/gnumeric-list
> 

--
Erich Neuwirth, University of Vienna
Faculty of Computer Science
Center for Computer Science Didactics and Learning Research 
Visit our SunSITE at http://sunsite.univie.ac.at
Phone: +43-1-4277-39902 Fax: +43-1-4277-39459

_______________________________________________
gnumeric-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gnumeric-list

Reply via email to