n numeri ordinati in un intervallo 0-n -
05-26-2008
, 01:05 PM
Ciao,
ho la necessità di generare dei numeri interi.
Mi spiego meglio, va... :-)
Supponiamo che io voglia generare un numero fisso di interi.
Questo numero fisso di interi voglio generarlo per numeri che vanno da 0
a N variabile (esempio da 0 a 200).
Inoltre, sempre questi numeri, devono essere generati in modo che ci sia
tra loro equidistanza relativa (es. 0,5,10,15,... non 0,1,5,66,77,...)
basata sul numero di numeri (sorry) da generare tra 0 ed N.
Oltre a ciò, il numero 0 e il numero finale devono sempre essere presenti.
Il primo tentativo che ho fatto è stato il seguente (tentativo lungo e
fallimentare):
totResults = 67;
maxItems = 37;
//
cf = totResults/maxItems;
//
diff = totResults-maxItems;
sect = 35;
//
num = Math.round((cf*sect)/diff+1);
//
tempArr = [];
for (i=0; i<diff; i++) {
tempArr.push(num*i);
}
Non so cosa ho inteso male ma non ha portato a molto.
Poi, mi è venuto in mente questo, che ci va molto vicino ma non ho fatto
abbastanza test per capire se potrebbe andare o se nasconde insidie:
// numero variabile (hardcoded)
totResults = 150;
// numero FISSO
maxItems = 37;
//
cf = totResults/maxItems;
//
fullArr = [];
for (i=0; i<maxItems+1; i++) {
fullArr[Math.ceil(cf*i)] = Math.ceil(cf*i);
}
Questo crea ANCHE degli elementi undefined che sono perfettamente
funzionali per quello che devo fare (cioè, è capitato che mi sono
accorto che mi è utile questa struttura dati).
Secondo voi, che siete più esperti di me, può andare questa soluzione
oppure è una boiata? :-)
Grazie a tutti. |