Cuando miramos en la página de inicio de dartlang.org y vemos un editor y lanzador de código para Dart con varios ejemplos lo primero que hacemos es ejecutarlos y modificarlos. Pues a las primeras de cambio modificamos el ejemplo de fibonacci y cambiando el 20 por 200 (es lo primero que se nos ocurrió) dejó bloqueado el navegador porque es una función exponencial.
Este es el código original:
int fib(int n) {
if (n < 2) return n;
return fib(n - 1) + fib(n - 2);
}
main() {
print('fib(20) = ${fib(20)}');
}
Si lo modificáis para imprimir la lista completa de la sucesión de valores de la función podréis comprobar cómo llega a bloquearse el navegador:
English


Comentarios recientes