Intermedio · par deslizante
Número de Fibonacci
F(0)=0, F(1)=1, F(n)=F(n−1)+F(n−2). Calcúlalo con un par deslizante — luego compara con la recursión exponencial de la lección 5.
Problema
Entrada: un entero n (0 ≤ n ≤ 45).
Salida: F(n), donde F(0) = 0 y F(1) = 1. (F(45) = 1.134.903.170 — el mayor que cabe en un int.)
Ejemplo:
| Entrada | Salida |
|---|---|
10 | 55 |
20 | 6765 |
Tu solución
Entrada personalizada para "Probar mi entrada"
La corrección se ejecuta por completo en tu navegador contra pruebas ocultas. Tu código se guarda localmente mientras escribes. Ctrl+Enter corrige.
¿Atascado? Pistas
Pista 1 — el par deslizante
Mantén dos variables a = 0, b = 1. Cada pasada: int t = a + b; a = b; b = t;. Después de n pasadas, a es F(n).
Pista 2 — ¿por qué no la recursión de la lección 5?
Fib(45) recursivo hace ~2.000 millones de llamadas. El par deslizante hace 45. La misma matemática, un coste exponencialmente distinto — eso es pensamiento algorítmico.