Explicación: La técnica de programación de las llamadas del programa en sí misma se llama recursión.
La técnica de programación de un programa que se llama en sí misma se llama recursión. La recursión se usa ampliamente como algoritmo en los lenguajes de programación. Un proceso o función tiene un método para llamarse directa o indirectamente en su definición o descripción. Por lo general, convierte una capa de problema grande y compleja por capa en un problema más pequeño similar al problema original para resolver. La estrategia recursiva solo requiere un pequeño número de programas para describir los múltiples cálculos repetidos requeridos para el proceso de resolución de problemas, reduciendo en gran medida la cantidad de código en el programa. La capacidad de la recursión radica en el uso de declaraciones finitas para definir un conjunto infinito de objetos.
Tres condiciones para la recursión:
1. Condiciones límite
2. Sección de avance recursivo
3. Segmento de retorno recursivamente
Cuando la condición límite no se satisface, proceda recursivamente; Cuando se satisface la condición límite, el retorno recursivamente.
Los siguientes son dos programas de ejemplo:
1. Use el código Java para encontrar el factorial de 5. (Fábrica de 5 = 5*4*3*2*1)
paquete org.wxp.recursion; / ***Calcule el factorial de 5 (resultado = 5*4*3*2*1)*@Author Championship.wong*/ public class test01 {public static void main (string [] args) {System.out.println (f (5)); } public static int f (int n) {if (1 == n) return 1; else return n*(n-1); }} En esta pregunta, se analizan las tres condiciones de recursión:
(1) Condiciones de límite: factorial, multiplicar hasta el último número, es decir, 1, retorno 1, y el programa se ejecutará hasta el final;
(2) Sección de avance recursivo: cuando el parámetro actual no es igual a 1, continúe llamándose;
(3) Segmento de retorno recursivamente: Comience desde el número más grande, si el parámetro actual es 5, entonces es 5*4, es decir, 5*(5-1), es decir, N*(N-1)
2. Use el código Java para encontrar la secuencia: 1, 1, 2, 3, 5, 8 ...... número 40 de dígitos
paquete org.wxp.recursion; / *** Encuentre la secuencia: 1, 1, 2, 3, 5, 8 ...... 40 ° número de dígitos*/ public class test_02_fibonacci {public static void main (string [] args) {system.println (f (6)); } public static int f (int n) {if (1 == n || 2 == n) return 1; else return f (n-1) + f (n-2); }} 3. Descripción del problema: ¿Resolver el valor de la décima posición de la secuencia de Fibonacci? (La secuencia Fibonacci, también conocida como la secuencia diva dorada, se refiere a una secuencia: 1, 1, 2, 3, 5, 8, 13, 21, ... En matemáticas, la secuencia Fibonacci se define en el siguiente método recursivo: f0 = 0, f1 = 1, fn = f (n-1)+f (n-2) (n> = 2, n*))
Lista de programas:
/** *<p> Título: Java Algoritmo recursivo Ejemplo </p> *<p> Descripción: Use el algoritmo recursivo para resolver el valor del quinto número de la secuencia fibonacci </p> * *<p> FileName: fibonacci.Java </p> */clase pública Fibonacci {/** *Método: Método RECURSIV Secuencia fibonacci *Parámetros de entrada: int n *Tipo de retorno: int */ public static int Fun (int n) {if (1 == n || 2 == n) {return 1; } else {return (divers (n-1) + diversión (n-2)); }} / ** *Descripción del método: Método principal *Parámetros de entrada: String [] args *Tipo de retorno: void * / public static void main (string [] args) {system.out.println (diversión (10)); }}Los resultados de la ejecución son los siguientes:
Copie el código de la siguiente manera: 55