Explicação: A técnica de programação das próprias chamadas do programa é chamada de recursão.
A técnica de programação de um programa que se chama é chamada de recursão. A recursão é amplamente utilizada como algoritmo nas linguagens de programação. Um processo ou função tem um método para se chamar direta ou indiretamente em sua definição ou descrição. Geralmente, converte uma camada de problema grande e complexa por camada em um problema menor semelhante ao problema original a ser resolvido. A estratégia recursiva requer apenas um pequeno número de programas para descrever os múltiplos cálculos repetidos necessários para o processo de solução de problemas, reduzindo bastante a quantidade de código no programa. A capacidade da recursão está no uso de instruções finitas para definir um conjunto infinito de objetos.
Três condições para recursão:
1. Condições de contorno
2. Seção de avanço recursivo
3. Retorno recursivamente segmento
Quando a condição de contorno não for satisfeita, prossiga recursivamente; Quando a condição de contorno for satisfeita, retorne recursivamente.
A seguir, são apresentados dois programas de exemplo:
1. Use o código Java para encontrar o fatorial de 5. (Fábrica de 5 = 5*4*3*2*1)
pacote org.wxp.recursion; / ***Calcule o fatorial de 5 (resultado = 5*4*3*2*1)*@Author Championship.wong*/ public classe test01 {public static void main (string [] args) {System.out.println (f (5)); } public static int f (int n) {if (1 == n) return 1; caso contrário, retorne n*(n-1); }} Nesta questão, as três condições de recursão são analisadas:
(1) Condições de contorno: Fatorial, multiplique até o último número, ou seja, 1, retornar 1 e o programa será executado até o final;
(2) Seção de avanço recursivo: Quando o parâmetro atual não for igual a 1, continue a se chamar;
(3) Segmento de retorno recursivamente: Iniciar do maior número, se o parâmetro atual for 5, então é 5*4, ou seja, 5*(5-1), ou seja, n*(n-1)
2. Use o código Java para encontrar a sequência: 1, 1, 2, 3, 5, 8 ...... 40º número
pacote org.wxp.recursion; / *** Encontre a sequência: 1, 1, 2, 3, 5, 8 ...... 40º Número de dígitos*/ public classe test_02_fibonacci {public static void main (string [] args) {System.out.println (f (6)); } public static int f (int n) {if (1 == n || 2 == n) return 1; caso contrário, retorne F (n-1) + F (n-2); }} 3. Descrição do problema: resolva o valor da 10ª posição da sequência de Fibonacci? (Sequência de Fibonacci, também conhecida como sequência dividida em ouro, refere-se a uma sequência: 1, 1, 2, 3, 5, 8, 13, 21, ... em matemática, a sequência de fibonacci é definida no seguinte método recursivo: f0 = 0, f1 = 1, fn = f (n-1)+f (n-2) (n-2) (n2) (n2) (n2) (n2) (n2) (n-2) (n-2) (n2) (n2) (n2) (n-2) (n2) (n2) (n-2) (n2) (n-2) (n-2) (n2) (n2) (n-2) (n2) (n2) (n-2) (n2) (n2) (n2) (n-2) (n2) (n-2) (n-2) (n2) (n-2) (n-2) (n2) (n-2) (n2) (n-2) (n-2) (n2) (n-2) (n2) (n2).
Lista de programas:
/** *<p> Título: Java Exemplo de algoritmo recursivo </p> *<p> Descrição: use o algoritmo recursivo para resolver o valor do quinto número da sequência de fibonacci </p> *<p> nome do arquivo: fibonacci.java </p> */solt Class fibonacci { Sequência de Fibonacci *Parâmetros de entrada: int n *Retorno Tipo: int */ public static int fun (int n) {if (1 == n || 2 == n) {return 1; } else {return (diversão (n-1) + diversão (n-2)); }} / ** *Método Descrição: Método principal *Parâmetros de entrada: String [] args *Return Type: void * / public static void main (string [] args) {System.out.println (Fun (10)); }}Os resultados em execução são os seguintes:
Copie o código da seguinte forma: 55