Per completezza, la ricerca delle serie numeriche:
http://it.wikipedia.org/wiki/Partizione_di_un_intero

Inoltre, per avere il numero esatto di partizioni senza doverle ricreare tutte come dal codice sopra:

uint n = 250;
uint[][] a = new uint[n + 1][];
for (uint ii = 0; ii < a.Length; ii++)
{
a[ii] = new uint[n+1];
}
int i, j, k;
for (i = 0; i < a.Length; i++) {
a[i][0] = 0;
a[0][i] = 1;
}
for (i = 1; i < a.Length; i++) {
a[i][1] = 1;
for (j = 2; j < a[0].Length; j++) {
k = i - j;
if (k < 0)
a[i][j] = a[i][j - 1];
else
a[i][j] = a[i][j - 1] + a[k][j];
}
}
i--;
uint result = a[i][i - 1];
Console.WriteLine(result + 1);

Ci sarà anche la formula per avere il numero esatto delle serie aventi lo stesso prodotto... per ora non l'ho trovata :)

Andrea Zani
Undicesimo comandamento: NON utilizzare Explorer 6

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.