Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/11/2015, 15:35
Tachikomaia
Invitado
 
Mensajes: n/a
Puntos:
Reducir a 2 la suma de nros en una serie que suma más.

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
  1. // Elms_candidatos: Desde 0, 0, 1 y 1, Suma.
  2. E_Anterior1 = 1;
  3. E = 1;
  4. // Otros elms:
  5. Resp = "";
  6. Anteriores = 3;
  7. N = 3;
  8.  
  9. set("E_Anterior"+N, 0);
  10. N=N-1;
  11.  
  12. if (N > 1) {
  13.     gotoAndPlay (2);
  14. }
  15.  
  16. // Anali:
  17. if (E > 10) {
  18.     Resp = "Un elemento que cumple la condición es el "+E+"\n"+Resp;
  19.     stop ();
  20. }
  21.  
  22. Resp = "El elemento "+E+" no cumple la condición.\n"+Resp;
  23. // EMod.
  24. NextE = E_Anterior3+E_Anterior2+E_Anterior1+E;
  25. E_Anterior3 = E_Anterior2;
  26. E_Anterior2 = E_Anterior1;
  27. E_Anterior1 = E;
  28. E = NextE;
  29. 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?