# Ruby e calcolo combinatorio

**URL:** <https://www.ruby-forum.com/t/ruby-e-calcolo-combinatorio/177444>\
**Category:** IT\
**Created:** [October 17, 2009, 9:11am UTC](https://www.ruby-forum.com/t/ruby-e-calcolo-combinatorio/177444 "2009-10-17T09:11:37Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![straluna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6de8d8/32.png) [@straluna](https://www.ruby-forum.com/u/straluna)\
**Post date:** [October 17, 2009, 9:11am UTC](https://www.ruby-forum.com/t/ruby-e-calcolo-combinatorio/177444/1 "2009-10-17T09:11:37Z")

</div>

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](http://www.ruby-doc.org/core/classes/Math.html) non mi aiuta.

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

ciaps,  
a.

---

<div class="post-metadata">

**Author:** ![straluna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6de8d8/32.png) [@straluna](https://www.ruby-forum.com/u/straluna)\
**Post date:** [October 17, 2009, 10:23am UTC](https://www.ruby-forum.com/t/ruby-e-calcolo-combinatorio/177444/2 "2009-10-17T10:23:34Z")

</div>

On Sat, 17 Oct 2009 09:00:28 +0200  
Alberto F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) 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](http://blade.nagaokaut.ac.jp/~sinara/ruby/math/combinatorics/index.html)

🙂

a.

---

<div class="post-metadata">

**Author:** ![straluna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6de8d8/32.png) [@straluna](https://www.ruby-forum.com/u/straluna)\
**Post date:** [October 17, 2009, 11:39am UTC](https://www.ruby-forum.com/t/ruby-e-calcolo-combinatorio/177444/3 "2009-10-17T11:39:40Z")

</div>

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](http://www.ruby-doc.org/core-1.9/classes/Array.html#M000483)

Sandro

2009/10/17 Alberto F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![straluna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6de8d8/32.png) [@straluna](https://www.ruby-forum.com/u/straluna)\
**Post date:** [October 17, 2009, 12:32pm UTC](https://www.ruby-forum.com/t/ruby-e-calcolo-combinatorio/177444/4 "2009-10-17T12:32:20Z")

</div>

2009/10/17 Alberto F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

> 

Ah, 😃 ottimo allora 😃  
Yez

---

<div class="post-metadata">

**Author:** ![straluna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6de8d8/32.png) [@straluna](https://www.ruby-forum.com/u/straluna)\
**Post date:** [October 17, 2009, 11:54am UTC](https://www.ruby-forum.com/t/ruby-e-calcolo-combinatorio/177444/5 "2009-10-17T11:54:53Z")

</div>

On Sat, 17 Oct 2009 11:39:11 +0200  
Sandro P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) 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.
