Bird
Raised Fist0
DSA Javascriptprogramming~5 mins

Factorial Using Recursion in DSA Javascript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is recursion in programming?
Recursion is when a function calls itself to solve smaller parts of a problem until it reaches a simple case it can solve directly.
Click to reveal answer
beginner
What is the factorial of a number n (n!)?
Factorial of n is the product of all positive integers from 1 to n. For example, 4! = 4 × 3 × 2 × 1 = 24.
Click to reveal answer
beginner
What is the base case in the factorial recursion?
The base case is when n equals 0 or 1, and the factorial is 1. This stops the recursion from going forever.
Click to reveal answer
intermediate
How does the recursive factorial function calculate factorial(n)?
It multiplies n by factorial(n-1), calling itself with smaller numbers until it reaches the base case.
Click to reveal answer
beginner
Why is it important to have a base case in recursion?
Without a base case, the function would call itself forever, causing a crash or error.
Click to reveal answer
What is the factorial of 0?
A1
B0
CUndefined
D0!
In recursion, what stops the function from calling itself endlessly?
AVariable
BLoop
CBase case
DReturn type
What does factorial(4) equal?
A120
B24
C16
D10
Which of these is a correct recursive call for factorial(n)?
Afactorial(n+1)
Bfactorial(n/2)
Cfactorial(n*2)
Dfactorial(n-1)
What is the output of factorial(1)?
A1
B0
CUndefined
D1!
Explain how recursion works in calculating factorial of a number.
Think about how the problem gets smaller each time.
You got /3 concepts.
    Describe why a base case is necessary in a recursive factorial function.
    What happens if the function never stops calling itself?
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the factorial of a number represent in mathematics?
      easy
      A. The number multiplied by 2
      B. The sum of all positive integers up to that number
      C. The product of all positive integers up to that number
      D. The number divided by 2

      Solution

      1. Step 1: Understand factorial definition

        Factorial of a number n (written as n!) is the product of all positive integers from 1 to n.
      2. Step 2: Compare options with definition

        Only The product of all positive integers up to that number matches this definition exactly.
      3. Final Answer:

        The product of all positive integers up to that number -> Option C
      4. Quick Check:

        Factorial = product sequence [OK]
      Hint: Factorial multiplies numbers down to 1 [OK]
      Common Mistakes:
      • Confusing factorial with sum
      • Thinking factorial doubles the number
      • Mixing factorial with division
      2. Which of the following is the correct base case for a recursive factorial function in JavaScript?
      easy
      A. if (n === 1) return n * factorial(n - 1);
      B. if (n === 1) return 0;
      C. if (n === 0) return 0;
      D. if (n === 0) return 1;

      Solution

      1. Step 1: Identify base case for factorial

        Factorial of 0 is defined as 1, so base case should return 1 when n is 0.
      2. Step 2: Check options for correct base case

        if (n === 0) return 1; returns 1 when n is 0, which is correct. Others either return wrong values or recursive calls.
      3. Final Answer:

        if (n === 0) return 1; -> Option D
      4. Quick Check:

        Base case n=0 returns 1 [OK]
      Hint: Base case for factorial(0) is 1 [OK]
      Common Mistakes:
      • Returning 0 for factorial(0)
      • Using recursive call in base case
      • Confusing base case with recursive step
      3. What will be the output of the following JavaScript code?
      function factorial(n) {
        if (n === 0) return 1;
        return n * factorial(n - 1);
      }
      console.log(factorial(4));
      medium
      A. 24
      B. 10
      C. 16
      D. 120

      Solution

      1. Step 1: Trace recursive calls for factorial(4)

        factorial(4) = 4 * factorial(3) factorial(3) = 3 * factorial(2) factorial(2) = 2 * factorial(1) factorial(1) = 1 * factorial(0) factorial(0) = 1 (base case)
      2. Step 2: Calculate values bottom-up

        factorial(1) = 1 * 1 = 1 factorial(2) = 2 * 1 = 2 factorial(3) = 3 * 2 = 6 factorial(4) = 4 * 6 = 24
      3. Final Answer:

        24 -> Option A
      4. Quick Check:

        4! = 24 [OK]
      Hint: Multiply down from n to 1 recursively [OK]
      Common Mistakes:
      • Adding instead of multiplying
      • Stopping recursion too early
      • Misunderstanding base case
      4. Find the error in this recursive factorial function:
      function factorial(n) {
        if (n === 1) return 1;
        return n * factorial(n + 1);
      }
      medium
      A. The base case should be n === 0, not n === 1
      B. The recursive call should use n - 1, not n + 1
      C. The function should return n + factorial(n - 1)
      D. There is no error; the function is correct

      Solution

      1. Step 1: Analyze recursive call direction

        The function calls factorial(n + 1), which increases n, causing infinite recursion.
      2. Step 2: Correct recursive call

        To reach base case, n should decrease by 1 each call: factorial(n - 1).
      3. Final Answer:

        The recursive call should use n - 1, not n + 1 -> Option B
      4. Quick Check:

        Recursion must move toward base case [OK]
      Hint: Recursive calls must reduce n to base case [OK]
      Common Mistakes:
      • Increasing n in recursive call
      • Wrong base case value
      • Using addition instead of multiplication
      5. Consider this modified factorial function that returns the factorial of n only if n is even, otherwise returns 0:
      function evenFactorial(n) {
        if (n === 0) return 1;
        if (n % 2 !== 0) return 0;
        return n * evenFactorial(n - 2);
      }
      console.log(evenFactorial(6));

      What is the output of this code?
      hard
      A. 48
      B. 720
      C. 0
      D. 120

      Solution

      1. Step 1: Understand function behavior

        Function returns 0 if n is odd. For even n, it multiplies n by factorial of n-2 recursively.
      2. Step 2: Calculate evenFactorial(6)

        evenFactorial(6) = 6 * evenFactorial(4) evenFactorial(4) = 4 * evenFactorial(2) evenFactorial(2) = 2 * evenFactorial(0) evenFactorial(0) = 1 (base case) So, 2 * 1 = 2 4 * 2 = 8 6 * 8 = 48
      3. Final Answer:

        48 -> Option A
      4. Quick Check:

        Product of even numbers down to 0 = 48 [OK]
      Hint: Multiply even numbers down by 2 recursively [OK]
      Common Mistakes:
      • Calculating full factorial instead of even factorial
      • Returning 0 for even inputs
      • Ignoring base case for 0
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard