Exercise 14: Find Factorial of Number

Problem Statement

Create a function `factorial(n)` that calculates factorial of a number. Example: - factorial(5) → 120 - factorial(0) → 1

Sample Output:

factorial(5) => 120
factorial(0) => 1
factorial(3) => 6

Solution

const factorial = (n) => {
  const num = Math.floor(Number(n));
  if (num < 0 || !Number.isFinite(num)) return null;
  if (num === 0 || num === 1) return 1;
  let result = 1;
  for (let i = 2; i <= num; i++) result *= i;
  return result;
};

Explanation

Overall Goal:

  • Number ka factorial calculate karna (n! = n * (n-1) * ... * 1).

Line 1: Function header

  • const factorial = (n) => {

Line 2: Normalize

  • const num = Math.floor(Number(n));

Line 3: Validation

  • if (num < 0 || !Number.isFinite(num)) return null;

Line 4: Base case

  • if (num === 0 || num === 1) return 1;

Line 5-6: Calculate

  • let result = 1;
  • for (let i = 2; i <= num; i++) result *= i;

Real world:

  • Math calculations: permutations.
  • Algorithms: recursive problems.