Maison >développement back-end >Tutoriel C#.Net >Comment implémenter un algorithme récursif en langage C

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

藏色散人
藏色散人original
2019-02-28 14:00:045851parcourir

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();
}

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;
}

Sortie :

Factorial of 12 is 479001600

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;}

Sortie :

0	
1	
1	
2	
3	
5	
8	
13	
21	
34

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!

Déclaration:
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