Definisco un insieme A con un certo numero di elementi, diciamo 4:
Codice: Seleziona tutto
A = {a,b,c,d}
Codice: Seleziona tutto
Subsets[A] = {{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {a, d}, {b, c}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}}
Il mio problema: voglio assegnare ad ogni elemento di A un valore, e sommare tra loro i valori di ogni elemento in ogni sottoinsieme. A questo punto vorrei mi ritornassero solo quei sottoinsiemi che hanno come somma un valore maggiore di un certo numero.
Faccio un esempio dato che a spiegarlo così è un po' oscuro: nel caso di prima, io assegno
a = 4
b = 9
c = 5
d = 1
e quindi se io definisco una certa funzione somme[] questa ritorna 0 per l'insieme vuoto, 5 per l'insieme {a,d}, 19 per l'intero insieme A ecc.
Come fare?