Ebben a példában megtanulják megtalálni a természetes számok összegét egy rekurzív függvény segítségével.
A példa megértéséhez ismernie kell a következő C programozási témákat:
- C Felhasználó által definiált funkciók
- C Rekurzió
Az 1, 2, 3 pozitív számokat természetes számoknak nevezzük. Az alábbi program pozitív egész számot vesz el a felhasználótól, és kiszámítja az összeget a megadott számig.
Ezen a oldalon keresse meg a természetes számok összegét egy hurok segítségével.
Természetes számok összege rekurzióval
#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; )
Kimenet
Adjon meg pozitív egész számot: 20 Összeg = 210
Tegyük fel, hogy a felhasználó megadta a 20 értéket.
Kezdetben 20- addNumbers()
tól main()
argumentumként átadják.
A 20-as szám hozzáadódik a addNumbers(19)
.
A következő függvény hívását addNumbers()
a addNumbers()
19 vezetjük, amely adunk az eredménye addNumbers(18)
. Ez a folyamat addig folytatódik, amíg n nem egyenlő 0-val.
Ha n értéke 0, akkor nincs rekurzív hívás. Ez végül az egész számok összegét adja vissza a main()
függvényhez.