factorial Algorithm

The factorial iterative algorithm is an approach used to calculate the factorial of a given non-negative integer, which is the product of all positive integers less than or equal to that number. Factorial is commonly denoted by an exclamation mark (n!), and it has various applications in mathematics, including permutations and combinations, power series, and calculus. The iterative algorithm uses a loop, such as for or while, to repeatedly multiply the integer by decreasing positive integers until it reaches 1. In the iterative approach, the algorithm initializes a variable, typically called 'result' or 'factorial,' with the value of 1. Then, a loop is executed that starts with the given number (n) and decrements at each iteration until it reaches 1. At every step, the loop multiplies the current value of the result variable by the loop's counter variable. By the end of the loop, the result variable holds the final factorial value of the given number (n!). This method is generally faster and more efficient in terms of memory usage compared to its counterpart, the recursive factorial algorithm, as it does not require the overhead of function calls and stack frames.
/*
    author: PatOnTheBack
    license: GPL-3.0 or later

    Modified from:
        https://github.com/TheAlgorithms/Python/blob/master/maths/factorial_python.py

    This script will find the factorial of a number provided by the user.

    More about factorials:
        https://en.wikipedia.org/wiki/factorial
*/

'use strict'

function calcRange (num) {
  // Generate a range of numbers from 1 to `num`.
  var i = 1
  var range = []
  while (i <= num) {
    range.push(i)
    i += 1
  }
  return range
}

function calcFactorial (num) {
  var factorial
  var range = calcRange(num)

  // Check if the number is negative, positive, null, undefined, or zero
  if (num < 0) {
    return 'Sorry, factorial does not exist for negative numbers.'
  }
  if (num === null || num === undefined) {
    return 'Sorry, factorial does not exist for null or undefined numbers.'
  }
  if (num === 0) {
    return 'The factorial of 0 is 1.'
  }
  if (num > 0) {
    factorial = 1
    range.forEach(function (i) {
      factorial = factorial * i
    })
    return 'The factorial of ' + num + ' is ' + factorial
  }
}

// Run `factorial` Function to find average of a list of numbers.

var num = console.log('Enter a number: ')
console.log(calcFactorial(num))

LANGUAGE:

DARK MODE: