Data una sequenza di numeri a0, a1, a2, ... an-1, la media mobile di lunghezza k in posizione i è definita come la media dei k elementi nelle posizioni ai, ai+1, ..., ai+k-1. È possibile definire la media mobile di lunghezza k solo per le posizioni da 0 a n-k.
Per verificare il funzionamento del metodo che trova la posizione di media mobile massima, applicarlo a un array di valori double pseudocasuali la cui lunghezza è definita dall'utente.
Si vuole realizzare una simulazione di lanci di moneta, ciascuna con esito 'T' o 'C'.
In particolare, si vuole studiare come varia il massimo numero di esiti consecutivi uguali al variare della lunghezza della sequenza di estrazioni. Ad esempio, nella sequenza di lunghezza 10:
T C C C T T C T C C
si hanno 3 esiti consecutivi uguali (C C C), e ci si aspetterebbe che su sequenze più lunghe tale numero tenda ad aumentare. Ad esempio, nella sequenza di lunghezza 20:
T C C T C C C T T T T C C C C T C T T T
osserviamo 4 esiti consecutivi uguali.
Scrivere un programma che esegue simulazioni di lanci di moneta di lunghezza 10, 20, 40, 80, ..., 327680, 655360 (la lunghezza raddoppia di volta in volta), e in corrispondenza di ogni simulazione stampa il massimo numero di esiti consecutivi uguali. I lanci sono simulati attraverso chiamate del metodo Math.random()
.
L'esercizio può essere risolto definendo prima un metodo che, a partire da un parametro n, simula una sequenza di lanci di moneta e restituisce la lunghezza della massima sequenza