codice://Inizializzazione script var cifra = new Array(); //result : numero di combinazioni var result = 0; //ncifre : numero di cifre da combinare var ncifre = 3; //max_number : massimo valore che può acquisire una cifra var max_number = 8; //min_number : minimo valore che può acquisire una cifra var min_number = 2; //step_medias : ogni quanto aumenta una cifra tra due controlli di combinazioni step_medias = 2; //media_points : media delle cifre var media_points = 4; var w = 0; for(w=0;w<ncifre;w++) { //cifra.push(min_number); cifra.push(min_number - step_medias); } //Funzione che richiama la funzione ricorsiva function clickclick() { for(w = 0;w < ncifre;w++) { //cifra.push(min_number); cifra[w] = min_number - step_medias; } result = 0; onCl(0); } //funzione ricorsiva function onCl(i) { var j; for(j =cifra[i];j < max_number; j+=step_medias) { var sum =0; cifra[i] += step_medias; //Ricorsione if (i< (ncifre-1)) onCl(i+1); //Somma delle cifre for(k=0;k<ncifre;k++) { sum += cifra[k]; } if(sum == (ncifre*media_points) ) result++; } //Reinizializzao la cifra per ritornare alla cifra maggiore cifra[i] = min_number; //Quando finisco la cifra 0 allora result è il mio risultato finale if(i==0) { //document.result_calcolo.value = result; alert(result); } return; }