La capacité de penser de manière récursive est très important pour les développeurs de logiciels . Une routine de logiciel récursive répète en elle-même référence à un certain point . Cette routine a un scénario de base qui met fin à la récurrence et empêche la routine d'exercer indéfiniment . La plupart des programmeurs apprendre à coder la séquence de Fibonacci quand ils apprennent la récursivité. Une série très proche des nombres est la série Lucas, et il peut être résolu de manière récursive ainsi . La série Lucas commence par les numéros 2 et 1. Chaque numéro ultérieur de la série est la somme des deux précédents - par exemple , le troisième nombre est 3 (1 +2) , suivi par 4 (3 +1 ), suivi par 7 (4 +3) , et ainsi de suite . Choses que vous devez
C + + Compiler , comme GCC
C + + IDE, tels que Eclipse CDT
Afficher plus Instructions
1
Lancez votre C + + IDE et créer un nouveau C + + fichier de code source.
2
Créer une fonction nommée Lucas. La partie principale du programme nourrir lucas un numéro et attendre Lucas de passer un certain nombre de nouveau à lui . Cette syntaxe est accompli en écrivant quelque chose comme ceci:
int lucas (int x ) {
}
3
Set le premier cas de base. Le premier cas de base se produit lorsque la saisie du numéro dans la fonction Lucas est 0 . Le résultat de ceci est sortie de la valeur de 2 à principal . Vous pouvez accomplir cela en ajoutant un "if" à l'intérieur des accolades de la fonction lucas , comme ceci:
if ( x == 0) {return 2 ;}
4
Mettre en place le second cas de base. Le deuxième cas se produit lorsque la base de la saisie du numéro dans la fonction est une Lucas . Le résultat de ceci est sortie de la valeur 1 à principal . Vous pouvez écrire ce "quelque - if" comme ça , en dessous du "if" de l'étape 3 : Photos
else if ( x == 1) { return 1; }
5 < p> Mettre en place l'appel récursif . Cet appel va appeler la fonction Lucas lui-même deux fois plus, en ajoutant le résultat des deux résultats précédents de la série Lucas ensemble. Cet appel récursif peut ressembler à ceci , et va en dessous de la mention « if-else " à l'étape 4:
else {return lucas (x - 1 ) + lucas (x - 2 );}
6
Appel lucas dans la fonction principale . Vous placez votre fonction principale en dessous de la fonction lucas fini, en dehors de ses accolades. L'ensemble de la fonction principale devrait ressembler à ceci :
int main () {int
y = lucas (7); cout << y << endl; return 0; }
7
compiler et exécuter ce programme (de nombreux environnements de développement font cela en appuyant sur F5). La sortie du programme seront les huit premiers numéros de la série Lucas : . 2, 1, 3, 4 , 7, 11 , 18, 29