Príklad na nájdenie faktoriálu nezáporného celého čísla (zadaného používateľom) pomocou rekurzie.
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
Tento program vezme od používateľa kladné celé číslo a vypočíta faktoriál tohto čísla. Predpokladajme, že užívateľ zadá 6,
Faktoriál sa bude rovnať 1 * 2 * 3 * 4 * 5 * 6 = 720
V tomto príklade sa naučíte nájsť faktoriál čísla pomocou rekurzívnej funkcie.
Na tejto stránke nájdete informácie o tom, ako môžete pomocou slučiek vypočítať faktoriál.
Príklad: Vypočítajte faktoriál pomocou rekurzie
#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ýkon
Zadajte kladné celé číslo: 6 Faktoriál zo 6 = 720
Vo vyššie uvedenom programe predpokladajme, že užívateľ zadá číslo 6. Číslo sa odovzdá factorial()
funkcii.
V tejto funkcii sa 6 násobí na faktoriál (6 - 1 = 5). Za týmto účelom sa číslu 5 opäť odovzdá factorial()
funkcia.
Rovnako tak v nasledujúcej iterácii sa 5 vynásobí na faktoriál (5 - 1 = 4). A 4 sa odovzdá factorial()
funkcii.
Toto pokračuje, kým hodnota nedosiahne 1 a funkcia vráti 1.
Teraz každá funkcia vráti hodnotu späť na výpočet 1 * 2 * 3 * 4 * 5 * 6 = 720, ktorá sa vráti do main()
funkcie.