Příklad k nalezení faktoriálu nezáporného celého čísla (zadaného uživatelem) pomocí rekurze.
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
Tento program přebírá od uživatele kladné celé číslo a vypočítá faktoriál tohoto čísla. Předpokládejme, že uživatel zadá 6,
Faktoriál se bude rovnat 1 * 2 * 3 * 4 * 5 * 6 = 720
Naučíte se najít faktoriál čísla pomocí rekurzivní funkce v tomto příkladu.
Na této stránce se dozvíte, jak lze pomocí smyček vypočítat faktoriál.
Příklad: Vypočítejte faktoriál pomocí rekurze
#include using namespace std; int factorial(int n); int main() ( int n; cout <> n; cout << "Factorial of " << n << " = " < 1) return n * factorial(n - 1); else return 1; )
Výstup
Zadejte kladné celé číslo: 6 Factorial of 6 = 720
Ve výše uvedeném programu předpokládejme, že uživatel zadá číslo 6. Číslo je předáno factorial()
funkci.
V této funkci je 6 vynásobeno faktoriálem (6 - 1 = 5). Za tímto účelem je číslo 5 opět předáno factorial()
funkci.
Podobně v další iteraci se 5 vynásobí faktoriálem (5 - 1 = 4). A 4 je předán factorial()
funkci.
To pokračuje, dokud hodnota nedosáhne 1 a funkce vrátí 1.
Nyní každá funkce vrací hodnotu zpět k výpočtu 1 * 2 * 3 * 4 * 5 * 6 = 720, která se vrací do main()
funkce.