Explication: La technique de programmation du programme s'appelle elle-même s'appelle Recursion.
La technique de programmation d'un programme s'appelle s'appelle Recursion. La récursivité est largement utilisée comme algorithme dans les langages de programmation. Un processus ou une fonction a une méthode pour s'appeler directement ou indirectement dans sa définition ou sa description. Il convertit généralement une couche de problème importante et complexe par calque en un problème plus petit similaire au problème d'origine à résoudre. La stratégie récursive ne nécessite qu'un petit nombre de programmes pour décrire les multiples calculs répétés requis pour le processus de résolution de problèmes, réduisant considérablement la quantité de code dans le programme. La capacité de la récursivité réside dans l'utilisation de déclarations finies pour définir un ensemble infini d'objets.
Trois conditions pour la récursivité:
1. Conditions aux limites
2. Section d'avancement récursif
3. Segment de retour récursivement
Lorsque la condition aux limites n'est pas satisfaite, procédez à récursivement; Lorsque la condition aux limites est satisfaite, retournez récursivement.
Voici deux exemples de programmes:
1. Utilisez le code Java pour trouver le factoriel de 5. (Usine de 5 = 5 * 4 * 3 * 2 * 1)
package org.wxp.recursion; / ** * Calculez le factoriel de 5 (résultat = 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); }} Dans cette question, les trois conditions de récursivité sont analysées:
(1) Conditions aux limites: factorielle, multipliez au dernier numéro, c'est-à-dire 1, retour 1, et le programme sera exécuté jusqu'à la fin;
(2) Section d'avancement récursive: Lorsque le paramètre actuel n'est pas égal à 1, continuez à vous appeler;
(3) Segment de retour récursivement: commencez par le plus grand nombre, si le paramètre actuel est de 5, alors il est de 5 * 4, c'est-à-dire 5 * (5-1), c'est-à-dire n * (n-1)
2. Utilisez le code Java pour trouver la séquence: 1, 1, 2, 3, 5, 8 ...... numéro de 40e chiffre
package org.wxp.recursion; / ** * Trouvez la séquence: 1, 1, 2, 3, 5, 8 ...... numéro 40th numérique * / classe publique 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; else return f (n-1) + f (n-2); }} 3. Description du problème: Résoudre la valeur de la 10e position de la séquence Fibonacci? (La séquence de Fibonacci, également connue sous le nom de séquence divisée en or, fait référence à une séquence: 1, 1, 2, 3, 5, 8, 13, 21, ... en mathématiques, la séquence de Fibonacci est définie dans la méthode récursive suivante: f0 = 0, f1 = 1, fn = f (n-1) + f (n-2) (n> = 2, n ercie *))
Liste des programmes:
/** *<p>Title: Java recursive algorithm example</p> *<p>Description: Use recursive algorithm to solve the value of the fifth number of the Fibonacci sequence</p> *<p>Filename:Fibonacci.java</p> */ public class Fibonacci { /** *Method description: Recursive algorithm to solve the Fibonacci Séquence * Paramètres d'entrée: int n * Type de retour: int * / public static int fun (int n) {if (1 == n || 2 == n) {return 1; } else {return (fun (n-1) + fun (n-2)); }} / ** * Méthode Description: Méthode principale * Paramètres d'entrée: String [] args * Retour Type: void * / public static void main (String [] args) {System.out.println (fun (10)); }}Les résultats en cours d'exécution sont les suivants:
Copiez le code comme suit: 55