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.]

Use recursion to solve the following exercises.

1. Write a JavaScript program to calculate the factorial of a number.  Go to the editor
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.  Go to the editor
Click me to see the solution.

3. Write a JavaScript program to get the integers in range (x, y).  Go to the editor
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.  Go to the editor
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.  Go to the editor
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.  Go to the editor
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.  Go to the editor
Click me to see the solution.

8. Write a JavaScript program for binary search.  Go to the editor
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.  Go to the editor
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 Palindrome or not using recursion.  Go to the editor
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 using recursion.  Go to the editor
Test Data:
(1) -> "1"
(0) -> "0"
(10) -> "1010"
(101) -> "1100101"
Click me to see the solution.

12. Write a JavaScript program to search a given integer in an array of sorted integers using Binary Search Algorithm and recursion.  Go to the editor
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 can represent the number using recursion.  Go to the editor
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.



Follow us on Facebook and Twitter for latest update.

JavaScript: Tips of the Day

Shorten an array using its length property

A great way of shortening an array is by redefining its length property.

let array = [0, 1, 2, 3, 4, 5, 6, 6, 8, 9]
array.length = 4
// Result: [0, 1, 2, 3]

Important to know though is that this is a destructive way of changing the array. This means you lose all the other values that used to be in the array.

Ref: https://bit.ly/2LBj213