Comment implémenter un algorithme récursif en langage C

藏色散人
Libérer: 2019-02-28 14:00:04
original
5771 Les gens l'ont consulté

La récursion est une méthode qui s'appelle elle-même. Dans les langages de programmation, si un programme permet d'appeler une fonction au sein de la même fonction, on parle d'appel récursif d'une fonction.

Comment implémenter un algorithme récursif en langage C

void recursion() {
   recursion(); /* 函数调用本身 */
}

int main() {
   recursion();
}
Copier après la connexion

Le langage C prend en charge la récursivité, c'est-à-dire une fonction qui s'appelle elle-même. Mais lors de l'utilisation de la récursivité, le programmeur doit être prudent dans la définition de la condition de sortie de la fonction, sinon elle entrera dans une boucle infinie.

Les fonctions récursives sont très utiles pour résoudre de nombreux problèmes mathématiques, comme calculer la factorielle d'un nombre, générer des séries de Fibonacci, etc.

Factoriale d'un nombre

L'exemple suivant utilise la récursivité pour calculer la fonction factorielle d'un nombre donné

#include <stdio.h>

unsigned long long int factorial(unsigned int i) {

   if(i <= 1) {
      return 1;
   }
   return i * factorial(i - 1);
}

int  main() {
   int i = 12;
   printf("Factorial of %d is %d\n", i, factorial(i));
   return 0;
}
Copier après la connexion

Sortie :

Factorial of 12 is 479001600
Copier après la connexion

Série de Fibonacci

L'exemple suivant utilise une fonction récursive pour générer une série de Fibonacci pour un nombre donné

#include <stdio.h>int fibonacci(int i) {

   if(i == 0) {
      return 0;
   }
	
   if(i == 1) {
      return 1;
   }
   return fibonacci(i-1) + fibonacci(i-2);}int  main() {

   int i;
	
   for (i = 0; i < 10; i++) {
      printf("%d\t\n", fibonacci(i));
   }
	
   return 0;}
Copier après la connexion

Sortie :

0	
1	
1	
2	
3	
5	
8	
13	
21	
34
Copier après la connexion

Tutoriels vidéo associés recommandés en langage C : "Tutoriel C"

Cet article est une introduction à l'algorithme récursif en langage C, j'espère cela sera utile aux amis dans le besoin !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal