Príklad na nájdenie súčtu prirodzených čísel pomocou rekurzívnej funkcie.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich programovacích tém C ++:
- Funkcie C ++
- Typy funkcií definovaných používateľom v jazyku C ++
- C ++ ak, ak … inak a Vnorené, ak … inak
- C ++ rekurzia
Kladné čísla 1, 2, 3… sú známe ako prirodzené čísla. Program uvedený nižšie vezme od používateľa kladné celé číslo a vypočíta súčet až po dané číslo.
Súčet prirodzených čísel nájdete aj pomocou slučiek. Tu sa však naučíte vyriešiť tento problém pomocou rekurzie
Príklad: Vypočítajte súčet prirodzených čísel pomocou rekurzie
#include using namespace std; int add(int n); int main() ( int n; cout <> n; cout << "Sum = " << add(n); return 0; ) int add(int n) ( if(n != 0) return n + add(n - 1); return 0; )
Výkon
Zadajte celé kladné číslo: 10 Súčet = 55
V tomto programe sa číslo zadané používateľom odovzdá add()
funkcii.
Predpokladajme, že 10 zadá užívateľ. Teraz je add()
funkcii odovzdaných 10 . Táto funkcia pridá 10 k výsledku sčítania 9 (10 - 1 = 9).
Nabudúce sa k výsledku sčítania 8 pridá 9 (9 - 1 = 8). Takto to pokračuje, kým číslo nedosiahne 0, keď funkcia vráti 0.
Teraz sa vráti každá funkcia na výpočet konečného výsledku: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55.