w3resource

JavaScript Recursion - Exercises, Practice, Solution

JavaScript Recursion [13 exercises with solution]

[An editor is available at the bottom of the page to write and execute the scripts. Go to the editor]

Use recursion to solve the following exercises.

1. Write a JavaScript program to calculate the factorial of a number.  
In mathematics, the factorial of a non-negative integer n, denoted by n!, is the product of all positive integers less than or equal to n. For example, 5! = 5 x 4 x 3 x 2 x 1 = 120
Click me to see the solution

2. Write a JavaScript program to find the greatest common divisor (GCD) of two positive numbers using recursion.  
Click me to see the solution.

3. Write a JavaScript program to get integers in the range (x, y) using recursion.  
Example : range(2, 9)
Expected Output : [3, 4, 5, 6, 7, 8]
Click me to see the solution.

4. Write a JavaScript program to compute the sum of an array of integers.  
Example : var array = [1, 2, 3, 4, 5, 6]
Expected Output : 21
Click me to see the solution.

5. Write a JavaScript program to compute the exponent of a number.  
Note : The exponent of a number says how many times the base number is used as a factor.
82 = 8 x 8 = 64. Here 8 is the base and 2 is the exponent.
Click me to see the solution.

6. Write a JavaScript program to get the first n Fibonacci numbers.  
Note : The Fibonacci Sequence is the series of numbers: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, . . . Each subsequent number is the sum of the previous two.
Click me to see the solution.

7. Write a JavaScript program to check whether a number is even or not.  
Click me to see the solution.

8. Write a JavaScript program for binary search.  
Sample array : [0,1,2,3,4,5,6]
console.log(l.br_search(5)) will return '5'
Click me to see the solution.

9. Write a merge sort program in JavaScript.  
Sample array : [34,7,23,32,5,62]
Sample output : [5, 7, 23, 32, 34, 62]
Click me to see the solution.

10. Write a JavaScript program to check whether a given string is a palindrome or not using recursion.  
A palindrome is a word, number, phrase, or other sequence of symbols that reads the same backwards as forwards, such as the words madam or racecar, the date/time stamps 11/11/11 11:11 and 02/02/2020, and the sentence: "A man, a plan, a canal - Panama".
Test Data:
("madam") -> true
("abdb") -> false
("ab") -> false
(test("a") -> true
Click me to see the solution.

11. Write a JavaScript program to convert binary number (positive) to decimal number using recursion.  
Click me to see the solution.

12. Write a JavaScript program to search for a given integer in an array of sorted integers using the Binary Search Algorithm and recursion.  
Test Data:
([1, 2, 3, 5, 6, 7, 10, 11, 14, 15, 17, 19, 20, 22, 23], 6) -> 4
([1, 2, 3, 5, 6, 7, 10, 11, 14, 15, 17, 19, 20, 22, 23], 16) -> -1
Click me to see the solution.

13. A string consists of digits ranging from 2 to 9, inclusive. Write a JavaScript program to get all possible letter combinations that represent the number using recursion.  
Test Data:
("12") -> ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]
("9") -> ["y", "z"]
Click me to see the solution.

More to Come !

* To run the code mouse over on Result panel and click on 'RERUN' button.*

Live Demo:

See the Pen javascript-common-editor by w3resource (@w3resource) on CodePen.


Do not submit any solution of the above exercises at here, if you want to contribute go to the appropriate exercise page.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/javascript-exercises/javascript-recursion-functions-exercises.php