Program C pentru a găsi factorul unui număr folosind recursivitatea

În acest exemplu, veți învăța să găsiți factorialul unui număr întreg non-negativ introdus de utilizator utilizând recursivitatea.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare C:

  • Funcții C
  • C Funcții definite de utilizator
  • C Recursivitate

Factorialul unui număr pozitiv n este dat de:

factorial of n (n!) = 1 * 2 * 3 * 4 *… * n 

Factorialul unui număr negativ nu există. Și factorialul 0este 1.

În acest exemplu, veți învăța să găsiți factorialul unui număr folosind recursivitatea. Accesați această pagină pentru a afla cum puteți găsi factorialul unui număr folosind o buclă.

Factorialul unui număr folosind recursivitatea

#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; ) 

Ieșire

Introduceți un număr întreg pozitiv: 6 Factorial de 6 = 720 

Să presupunem că utilizatorul a introdus 6.

Inițial, multiplyNumbers()este apelat de la main()cu 6 trecut ca argument.

Apoi, 5 este transmis la multiplyNumbers()aceeași funcție (apel recursiv). În fiecare apel recursiv, valoarea argumentului n este redusă cu 1.

Când valoarea lui n este mai mică de 1, nu există apel recursiv și factorialul este returnat în cele din urmă main()funcției.

Articole interesante...