Příklad k nalezení součtu přirozených čísel pomocí rekurzivní funkce.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata C ++:
- Funkce C ++
- Typy uživatelsky definovaných funkcí v C ++
- C ++ if, if … else a Nested if … else
- C ++ rekurze
Kladná čísla 1, 2, 3… jsou známá jako přirozená čísla. Níže uvedený program vezme od uživatele kladné celé číslo a vypočítá součet až do daného čísla.
Součet přirozených čísel najdete také pomocí smyček. Zde se však naučíte řešit tento problém pomocí rekurze
Příklad: Vypočítejte součet přirozených čísel pomocí rekurze
#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ýstup
Zadejte kladné celé číslo: 10 Součet = 55
V tomto programu je číslo zadané uživatelem předáno add()
funkci.
Předpokládejme, že 10 zadal uživatel. Nyní je 10 předáno add()
funkci. Tato funkce přidá 10 k výsledku sčítání 9 (10 - 1 = 9).
Příště se k výsledku sčítání 8 přidá 9 (9 - 1 = 8). To pokračuje, dokud číslo nedosáhne 0, když funkce vrátí 0.
Nyní se vrátí každá funkce k výpočtu konečného výsledku: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55.