Foros del Web » Programación para mayores de 30 ;) » Programación General »

Reducir a 2 la suma de nros en una serie que suma más.

Estas en el tema de Reducir a 2 la suma de nros en una serie que suma más. en el foro de Programación General en Foros del Web. 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 ...
  #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?

Etiquetas: reducir, suma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.