Algoritmo

giovedì 30 dicembre 2010 - 11.53

trinity Profilo | Guru

Ciao Raga..
aiutatemi un secondo a capire cm meglio poter creare un algoritmo che mi restituisca una serie di combinazioni.

ossia esempio banale...

io devo permettere al programma di inserire un numero variabile che stabilisce la natura dei valori ossia supponiamo 5

pertanto io devo creare una combinazione che avendo una sequenza di numeri da 1 a 5 devo ricavare dei risultati a coppie di 2 o di 3 in cui ce la rotazione matatica di tutti i numeri....ossia che nessuna ipotetica combinazione di numeri venga esclusa...

tipo esempio:


1,2
1,3
1,4
1,5
2,3
2,4
2,5
3,4
3,5
4,5

e così via anche in conbinazioni di 3 numeri alla volta

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

luigidibiasi Profilo | Guru

Non ho ben capito una cosa...
Dati i numeri da 1 a 5 (5 elementi totali) devi pote ricavare tutti i possibili sottoinsiemi di 2 o di 3 elementi?

Sarebbe una sorta di coefficiente binomiale?

Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

trinity Profilo | Guru

In pratica devo ottenere tutte le possibili combinazioni di coppie e triple..calcola che il numero di valori può variare fino ad un massimo di 20 ossia da 1...a 20 numeri naturali

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

luigidibiasi Profilo | Guru

>In pratica devo ottenere tutte le possibili combinazioni di coppie
>e triple..calcola che il numero di valori può variare fino ad
>un massimo di 20 ossia da 1...a 20 numeri naturali

ok, credo di aver capito... devi generare tutti i possibili sottoinsiemi di 2 o 3 elementi (in chiamate separate ad una funzione) su un insieme di 20 numeri naturali...


Vedi se il codice seguente fa al caso tuo. Nella main definisci l'insieme (un array di 20 item integer) e lo riempi con i numeri che vuoi tu.

per farti restituire gli insiemi lanci processSubsets(nset, 3) con parametro 3 per ricevere in output la lista di tutti i sottoinsiemi di 3 elementi. con 2 per quelli di due...

unica accortenza: ogni volta che ha generato un insieme ti richiama la process(...) quindi è li dentro che dovrai prelevarti il sottoinsieme (sotto forma di array) e salvartelo da qualche parte... al momento c'è una writeline che non funziona. l'insieme è contenuto nella variabile subset

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

FONTE:http://stackoverflow.com/questions/4504974/how-to-iteratively-generate-k-elements-subsets-from-a-set-of-size-n-in-java


>
>Ciao
>Cirillo Fabio
>www.wondernet.biz
>fabio@wondernet.biz
>http://blogs.dotnethell.it/fabiocirillo/
>http://wnetsoftware.blogspot.com

Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

trinity Profilo | Guru

grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5