Näide rekursiooni abil mittenegatiivse (kasutaja sisestatud) täisarvu faktori leidmiseks.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest C ++ programmeerimise teemadest:
- C ++ funktsioonid
- Kasutaja määratud funktsioonide tüübid C ++ keeles
- C ++ kui, kui … muul juhul ja Pesatud, kui … muul juhul
- C ++ rekursioon
See programm võtab kasutajalt positiivse täisarvu ja arvutab selle arvu faktori. Oletame, et kasutaja sisestab 6,
Faktoor on võrdne 1 * 2 * 3 * 4 * 5 * 6 = 720
Selles näites leiate rekursiivse funktsiooni abil numbri faktori leidmise.
Külastage seda lehte, et teada saada, kuidas saate tsükleid kasutada faktori arvutamiseks.
Näide: arvutage faktorite arv rekursiooni abil
#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äljund
Sisestage positiivne täisarv: 6 faktoriaalarv 6 = 720
Oletame, et ülaltoodud programmis sisestab kasutaja numbri 6. Number edastatakse factorial()
funktsioonile.
Selles funktsioonis korrutatakse 6 korrutisega (6 - 1 = 5). Selleks antakse number 5 uuesti factorial()
funktsioonile.
Samamoodi korrutatakse järgmises iteratsioonis 5 tegurini (5 - 1 = 4). Ja 4 edastatakse factorial()
funktsioonile.
See jätkub, kuni väärtus jõuab väärtuseni 1 ja funktsioon tagastab väärtuse 1.
Nüüd tagastab iga funktsioon väärtuse tagasi, et arvutada 1 * 2 * 3 * 4 * 5 * 6 = 720, mis tagastatakse main()
funktsioonile.