Programme C pour trouver factorielle d'un nombre à l'aide de la récursivité

Dans cet exemple, vous apprendrez à trouver la factorielle d'un entier non négatif saisi par l'utilisateur à l'aide de la récursivité.

Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation C suivants:

  • Fonctions C
  • C Fonctions définies par l'utilisateur
  • C Récursivité

La factorielle d'un nombre positif n est donnée par:

factorial of n (n!) = 1 * 2 * 3 * 4 *… * n 

La factorielle d'un nombre négatif n'existe pas. Et la factorielle de 0est 1.

Vous apprendrez à trouver la factorielle d'un nombre en utilisant la récursivité dans cet exemple. Visitez cette page pour savoir comment trouver la factorielle d'un nombre à l'aide d'une boucle.

Factorielle d'un nombre utilisant la récursivité

#include long int multiplyNumbers(int n); int main() ( int n; printf("Enter a positive integer: "); scanf("%d",&n); printf("Factorial of %d = %ld", n, multiplyNumbers(n)); return 0; ) long int multiplyNumbers(int n) ( if (n>=1) return n*multiplyNumbers(n-1); else return 1; ) 

Production

Entrez un entier positif: 6 factorielle de 6 = 720 

Supposons que l'utilisateur ait entré 6.

Initialement, multiplyNumbers()est appelé de main()avec 6 passé en argument.

Ensuite, 5 est passé à multiplyNumbers()depuis la même fonction (appel récursif). Dans chaque appel récursif, la valeur de l'argument n est diminuée de 1.

Lorsque la valeur de n est inférieure à 1, il n'y a pas d'appel récursif et la factorielle est finalement renvoyée à la main()fonction.

Articles intéressants...