Dans cet exemple, vous apprendrez à trouver la somme des nombres naturels à l'aide d'une fonction récursive.
Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation C suivants:
- C Fonctions définies par l'utilisateur
- C Récursivité
Les nombres positifs 1, 2, 3… sont appelés nombres naturels. Le programme ci-dessous prend un entier positif de l'utilisateur et calcule la somme jusqu'au nombre donné.
Visitez cette page pour trouver la somme des nombres naturels à l'aide d'une boucle.
Somme des nombres naturels utilisant la récursivité
#include int addNumbers(int n); int main() ( int num; printf("Enter a positive integer: "); scanf("%d", &num); printf("Sum = %d", addNumbers(num)); return 0; ) int addNumbers(int n) ( if (n != 0) return n + addNumbers(n - 1); else return n; )
Production
Entrez un entier positif: 20 Somme = 210
Supposons que l'utilisateur ait entré 20.
Initialement, addNumbers()
est appelé de main()
avec 20 passés en argument.
Le nombre 20 est ajouté au résultat de addNumbers(19)
.
Dans le prochain appel de fonction de addNumbers()
à addNumbers()
, 19 est passé qui est ajouté au résultat de addNumbers(18)
. Ce processus se poursuit jusqu'à ce que n soit égal à 0.
Lorsque n est égal à 0, il n'y a pas d'appel récursif. Cela renvoie finalement la somme des entiers à la main()
fonction.