JavaScript: Calculate the falling factorial of a number
JavaScript Math: Exercise-48 with Solution
Calculate Falling Factorial
Write a JavaScript function to calculate the falling factorial of a number.
Let x be a real number (but usually an integer).
Let k be a positive integer.
Then x to the (power of) k falling is:
This is called the kth falling factorial power of x.
Sample Solution:
JavaScript Code:
// Define a function named fallingFactorial that calculates the falling factorial of 'n' to 'k'.
function fallingFactorial(n, k)
{
// Initialize variables 'i' and 'r'.
var i = (n - k + 1),
r = 1;
// Check if 'n' is negative.
if (n < 0)
{
throw new Error("n must be positive.");
}
// Check if 'k' is greater than 'n'.
if (k > n)
{
throw new Error("k cannot be greater than n.");
}
// Implement the falling factorial calculation.
while (i <= n)
{
r *= i++;
}
// Return the result of the falling factorial.
return r;
}
// Output the result of falling factorial calculation with inputs 10 and 2.
console.log(fallingFactorial(10, 2));
Output:
90
Flowchart:

Live Demo:
See the Pen javascript-math-exercise-48 by w3resource (@w3resource) on CodePen.
For more Practice: Solve these Related Problems:
- Write a JavaScript function that computes the falling factorial of a number using recursion.
- Write a JavaScript function that calculates the kth falling factorial power of x iteratively with a loop.
- Write a JavaScript function that validates the input parameters and computes the falling factorial, returning an error for invalid inputs.
- Write a JavaScript function that expresses the falling factorial as a product of sequentially decreasing terms.
Improve this sample solution and post your code through Disqus.
Previous: Write a JavaScript function to calculate the extended Euclid Algorithm or extended GCD.
Next: Write a JavaScript function to calculate Lanczos approximation gamma.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics