C Programm rekursiooni abil arvu faktori leidmiseks

Lang L: none (table-of-contents)

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.

Huvitavad Artiklid...