En la serie de Fibonacci cada número es la suma de los 2 anteriores, comenzando por 1 y 1.
Si la serie fuese la suma de los 20 anteriores, por por poner un ejemplo, hasta ahora si lo hubiera intentado hacer hubiera usado 20 variables, de hecho ya tengo algo parecido:
Código a:
Ver original// Elms_candidatos: Desde 0, 0, 1 y 1, Suma.
E_Anterior1 = 1;
E = 1;
// Otros elms:
Resp = "";
Anteriores = 3;
N = 3;
set("E_Anterior"+N, 0);
N=N-1;
if (N > 1) {
gotoAndPlay (2);
}
// Anali:
if (E > 10) {
Resp = "Un elemento que cumple la condición es el "+E+"\n"+Resp;
stop ();
}
Resp = "El elemento "+E+" no cumple la condición.\n"+Resp;
// EMod.
NextE = E_Anterior3+E_Anterior2+E_Anterior1+E;
E_Anterior3 = E_Anterior2;
E_Anterior2 = E_Anterior1;
E_Anterior1 = E;
E = NextE;
gotoAndPlay (4);
Me faltaría arreglar el fragmento 5 y otros que le sigan, para que la suma sea entre todas las variables que se marque en Anterores (fragmento 1).
Pero estaba trabajando con un código similar y se me ocurrió que con usar 2 o 3 variables quizá alcanzaría:
La suma de las anteriores, La actual, y la próxima.
Cada vez que hay una nueva, a Suma_de_las_Anteriores habría que restarle el valor de la que se haya sumado durante más tiempo. Algo así:
Nro1=0
...
Nro18=0
Nro19=1
Nro20=1
Suma_de_las_anteriores = 2
Siguiente = Suma_de_las_anteriores = 2
Suma_de_las_anteriores = Suma_de_las_anteriores + Siguiente - X = 4
y ese último fragmento se repetiría. Puede que esté mal, pero sino lo que me faltaría es entender cómo se calcula X. Si X es calculable sin las 20 variables entonces podría evitar tener que usarlas. En este caso puede que 18 veces se reste 0, o en definitiva que no haya resta. Luego debería ser 1, 1, 2, 4, etc. ¿Es posible reducir la cantidad de variables como digo o no? Puede que sea imposible porque se requiera reobtener la serie, en cuyo caso no convendría borrarla. Pero quizá al menos se pueda hacer con 7 variables más o menos, si para crear la serie sólo se necesitan 3 como acabo de mostrar.
¿Ideas?