Las reglas para una lista de números son las siguientes: 1, 1, 2, 3, 5, 8, 13, 21, 34... Usa un algoritmo recursivo para descubrir cuál es el número 30.
El código es el siguiente:
public class Test {?
public static void main(String[] args) {? > System. out.println("El resultado es:" Test.foo(30));?
}?
/**?
? * ¿Plan de soluciones comunes?
?*/?
public static int foo(int i){?
int a=1, b=1; > int c=0;
for(int k=2; klt; i; k ){/Tenga en cuenta el número de bucles
c=a b
a=b; //Tenga en cuenta que esta línea va antes de b=c
b=c
}
return c; p> }?
}
Extensión
El concepto de recursividad:
El concepto de recursividad es hacia dónde se va ( recursividad) hay retorno (retorno). "Ir" significa que el problema recursivo debe descomponerse en varios subproblemas más pequeños con la misma forma que el problema original. Estos subproblemas se pueden resolver con el mismo método, tal como se puede abrir la clave en el ejemplo anterior. las cerraduras de todas las puertas siguientes.
"Hay una salida" significa que la evolución de estos problemas es un proceso de grande a pequeño, de cerca a lejos, y hay un punto final claro (punto crítico, una vez alcanzado, allí). No es necesario ir a un lugar más pequeño y más lejano. Finalmente, partiendo de este punto crítico y volviendo al punto original de la misma forma, se puede solucionar el problema original.
Más directamente, la idea básica de la recursividad es transformar problemas a gran escala en subproblemas similares a pequeña escala para resolver. Especialmente al implementar funciones, dado que la solución al gran problema y la solución al pequeño problema suelen ser el mismo método, habrá situaciones en las que la función se llamará a sí misma, que es la definición de recursividad.
Es particularmente importante que esta función de resolución de problemas tenga una condición final clara; de lo contrario, conducirá a una recursividad infinita.