Program JavaScript pentru a găsi factorul numărului utilizând recursivitatea

În acest exemplu, veți învăța să scrieți un program JavaScript care găsește factorialul unui număr folosind recursivitatea.

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

  • Recursiune JavaScript
  • JavaScript dacă … altfel Declarație

Factorialul unui număr este produsul tuturor numerelor de la 1 la acel număr. De exemplu,

factorialul de 5 este egal cu 1 * 2 * 3 * 4 * 5 = 120 .

Factorialul unui număr pozitiv n este dat de:

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

Factorialul numerelor negative nu există și factorialul 0 este 1 .

Exemplu: Găsiți factorii utilizând recursivitatea

 // program to find the factorial of a number function factorial(x) ( // if number is 0 if (x == 0) ( return 1; ) // if number is positive else ( return x * factorial(x - 1); ) ) // take input from the user const num = prompt('Enter a positive number: '); // calling factorial() if num is positive if (num>= 0) ( const result = factorial(num); console.log(`The factorial of $(num) is $(result)`); ) else ( console.log('Enter a positive number.'); )

Ieșire

 Introduceți un număr pozitiv: 4 Factorialul lui 4 este 24

În programul de mai sus, utilizatorul este solicitat să introducă un număr.

Când utilizatorul introduce un număr negativ, un mesaj Introduceți un număr pozitiv. este arătat.

Când utilizatorul introduce un număr pozitiv sau 0 , funcția factorial(num)este apelată.

  • Dacă utilizatorul introduce numărul 0 , programul va reveni la 1 .
  • Dacă utilizatorul introduce un număr mai mare de 0 , programul se va apela recursiv prin scăderea numărului.
  • Acest proces continuă până când numărul devine 1. Apoi, când numărul ajunge la 0, se returnează 1.

Aici,

 factorial (4) returnează 4 * factorial (3) factorial (3) returnează 4 * 3 * factorial (2) factorial (2) returnează 4 * 3 * 2 * factorial (1) factorial (1) returnează 4 * 3 * 2 * 1 * factorial (0) factorial (0) returnează 4 * 3 * 2 * 1 * 1

Articole interesante...