C Programa surasti faktoriaus skaičių naudojant rekursiją

Šiame pavyzdyje sužinosite, kaip surašyti ne neigiamo sveiko skaičiaus, kurį vartotojas įvedė naudodamasis rekursija, faktorių.

Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C programavimo temas:

  • C funkcijos
  • C Vartotojo nustatytos funkcijos
  • C Rekursija

Teigiamo skaičiaus n faktorą pateikia:

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

Neigiamo skaičiaus faktorialas neegzistuoja. Ir faktorius 0yra 1.

Šiame pavyzdyje išmoksite rasti skaičiaus faktorialą naudodami rekursiją. Apsilankykite šiame puslapyje ir sužinokite, kaip galite rasti skaičiaus faktorialą naudodami kilpą.

Skaičiaus faktorius naudojant rekursiją

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

Rezultatas

Įveskite teigiamą sveikąjį skaičių: 6 koeficientas 6 = 720 

Tarkime, kad vartotojas įvedė 6.

Iš pradžių multiplyNumbers()iškviečiama iš main()6 kaip argumentą.

Tada 5 perduodami multiplyNumbers()iš tos pačios funkcijos (rekursinis skambutis). Kiekviename rekursiniame kvietime argumento n vertė sumažinama 1.

Kai n reikšmė yra mažesnė nei 1, rekurzinio iškvietimo nėra, o faktorialas galiausiai grąžinamas į main()funkciją.

Įdomios straipsniai...