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.