JavaScript: Calculate the factorial of a number
JavaScript fundamental (ES6 Syntax): Exercise-238 with Solution
Write a JavaScript program to calculate the factorial of a number.
- Use recursion.
- If n is less than or equal to 1, return 1.
- Otherwise, return the product of n and the factorial of n - 1.
- Throw a TypeError if n is a negative number.
Sample Solution:
JavaScript Code:
//#Source https://bit.ly/2neWfJ2
// Define a function 'factorial' to calculate the factorial of a given number 'n'
const factorial = n =>
// If 'n' is less than 0, throw a TypeError indicating that negative numbers are not allowed
n < 0
? (() => {
throw new TypeError('Negative numbers are not allowed!');
})()
// If 'n' is 0 or 1, return 1 (base case of factorial)
: n <= 1
? 1
// Otherwise, recursively calculate the factorial of 'n' using the formula n * factorial(n - 1)
: n * factorial(n - 1);
// Test the 'factorial' function with different inputs
console.log(factorial(1)); // Output: 1
console.log(factorial(5)); // Output: 120 (1 * 2 * 3 * 4 * 5)
console.log(factorial(7)); // Output: 5040 (1 * 2 * 3 * 4 * 5 * 6 * 7)
Output:
1 120 5040
Visual Presentation:
Flowchart:
Live Demo:
See the Pen javascript-basic-exercise-238-1 by w3resource (@w3resource) on CodePen.
Improve this sample solution and post your code through Disqus
Previous: Write a JavaScript program to generate an array, containing the Fibonacci sequence, up until the nth term.
Next: Write a JavaScript program to escape a string to use in a regular expression.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
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/fundamental/javascript-fundamental-exercise-238.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics