Hola:
Viendo como generar la serie como un array haciendo un pequeño retoque, me dí cuenta que tal como puse el algoritmo, el array inicial estaba al revés (f=[1,0]), y con esos retoques se obtiene la serie completa así:
Código:
function fibo(n) {
r = [0];
f = [1, 0];
for (i = 0; i < n; i++) {
f[i % 2] += f[(i+1) % 2];
r.push(f[i % 2]);
}
return r;
}
Ahora el resultado fibo(1000) tarda en obtenerse algo más de 100 milisegundos ; y devuelve:
Código:
0,1,1,2,3,5,8,13,21,34,55,89,144,...
...,4.346655768693743e+208
Con el algoritmo recursivo, es impensable llegar al índice 50 (incluso solo devolviendo un número y no la serie) ...
Saludos