Program v C ++ na výpočet faktoriálu čísla pomocou rekurzie

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.

Zaujímavé články...