Selles näites saate teada rekursiooni abil kasutaja sisestatud mitte-negatiivse täisarvu faktori.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest C-programmeerimise teemadest:
- C funktsioonid
- C Kasutaja määratud funktsioonid
- C Rekursioon
Positiivse arvu n faktoriaal arvutatakse järgmiselt:
factorial of n (n!) = 1 * 2 * 3 * 4 *… * n
Negatiivse arvu faktoori pole olemas. Ja faktoriaal 0on 1.
Selles näites leiate rekursiooni abil numbri faktori leidmise. Külasta seda lehte, et teada saada, kuidas leida silmusega arvu faktorial.
Rekursiooni kasutava arvu faktoriaal
#include long int multiplyNumbers(int n); int main() ( int n; printf("Enter a positive integer: "); scanf("%d",&n); printf("Factorial of %d = %ld", n, multiplyNumbers(n)); return 0; ) long int multiplyNumbers(int n) ( if (n>=1) return n*multiplyNumbers(n-1); else return 1; )
Väljund
Sisestage positiivne täisarv: 6 faktoriaalarv 6 = 720
Oletame, et kasutaja sisestas 6.
Esialgu multiplyNumbers()kutsutakse main()argumendiks väärtusega 6.
Seejärel edastatakse multiplyNumbers()samast funktsioonist (rekursiivne kõne) 5. Igas rekursiivses kõnes vähendatakse argumendi n väärtust 1 võrra.
Kui n väärtus on väiksem kui 1, rekursiivset kõnet ei toimu ja faktoriaal tagastatakse lõpuks main()funktsioonile.








