Ruby e calcolo combinatorio

Ciao ,
dati n elementi di classe k avrei bisogno di ottenere una lista di
tutte le n!/k!
(n-k)! combinazioni semplici.

Ad esempio dati gli elementi 0,1,2,3 (n=4) di classe k=3 avrei bisogno
di ottenere la lista delle 4!/3! = 4 combinazioni semplici
cioè:
012
013
023
123

Ovviamente module Math - RDoc Documentation non mi aiuta.

C’è qualche risorsa online di ruby e calcolo combinatorio che potete
suggerirmi?

ciaps,
a.

On Sat, 17 Oct 2009 09:00:28 +0200
Alberto F. [email protected] wrote:

C’è qualche risorsa online di ruby e calcolo combinatorio che potete
suggerirmi?

Ciao Alberto,
prova a guardare qui:

http://blade.nagaokaut.ac.jp/~sinara/ruby/math/combinatorics/index.html

:slight_smile:

a.

Se puoi ancora scegliere con che VM farlo Ruby 1.9 implementa già il
metodo
combination:

[1,2,3,0].combination(3).to_a
=> [[1, 2, 3], [1, 2, 0], [1, 3, 0], [2, 3, 0]]

Qui trovi le api:
http://www.ruby-doc.org/core-1.9/classes/Array.html#M000483

Sandro

2009/10/17 Alberto F. [email protected]

2009/10/17 Alberto F. [email protected]

Ah, :smiley: ottimo allora :smiley:
Yez

On Sat, 17 Oct 2009 11:39:11 +0200
Sandro P. [email protected] wrote:

Se puoi ancora scegliere con che VM farlo Ruby 1.9 implementa già il
metodo combination:

Posso posso…
…così è comodizzzzimo! Grazie.

Comunque anche ruby 1.8.7 lo implementa:

[1,2,3,0].combination(3).to_a
=> [[1, 2, 3], [1, 2, 0], [1, 3, 0], [2, 3, 0]]

abba@pico:~$ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i486-linux]

In caso servissero: array-comb.rb e integer-comb.rb al link che
segnalavo, benchè obsoleti in alcuni punti, fanno quel che mi serve.

ciao,
a.