I dette eksempel lærer du at finde summen af naturlige tal ved hjælp af en rekursiv funktion.
For at forstå dette eksempel skal du have kendskab til følgende C-programmeringsemner:
- C Brugerdefinerede funktioner
- C Rekursion
De positive tal 1, 2, 3… er kendt som naturlige tal. Programmet nedenfor tager et positivt heltal fra brugeren og beregner summen op til det givne nummer.
Besøg denne side for at finde summen af naturlige tal ved hjælp af en sløjfe.
Summen af naturlige tal ved hjælp af rekursion
#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; )
Produktion
Indtast et positivt heltal: 20 Sum = 210
Antag at brugeren indtastede 20.
Oprindeligt addNumbers()
kaldes fra main()
med 20 bestået som argument.
Nummeret 20 føjes til resultatet af addNumbers(19)
.
I den næste funktionsopkald fra addNumbers()
til addNumbers()
sendes 19, som føjes til resultatet af addNumbers(18)
. Denne proces fortsætter, indtil n er lig med 0.
Når n er lig med 0, er der ikke noget rekursivt opkald. Dette returnerer summen af heltal i sidste ende til main()
funktionen.