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;
}