si si pian piano metto a posto tutti i tasselliOriginariamente inviato da ale500
magari così è più leggibile.![]()
ma magari ti avranno spiegato cosa sono i parametri SOL, K e N che passo alla "funzione" o mi sono perso già qualcosa?codice:SOTTOINSIEMI(SOL,K,N) IF K=N THEN STAMPA (SOL) ELSE FOR i=0 TO 1 DO SOL[K+1]=i SOTTOINSIEMI(SOL,K+1,N) ENDFOR END![]()
![]()
dunque Sol si può pensare come un vettore caratteristico di 0,1 formato da N elementi, in cui Sol[k]==1 sse l'elemento k -esimo fa parte del sottoinsieme che stò costruendo in Sol.
K è solo un indice per manipolare il vettore, e N rappresenta il nr di elementi dell'insieme.
faccio un esempio di 2 sottoinsiemi di un insieme formato da
N=3 elementi= {a,b,c}
1) {a} rappresentato dall'algo come Sol={1,0,0}
2) {a,c} // // Sol={1,0,1}
Meglio no!?!