factorial(5) = 5 * factiorial(4) factorial(4) = 4 * factiorial(3)
TRANSCRIPT
“find your way home”
find your way home:if (you are at home) {
stop moving}else {
take one step towards home“find your way home”
}
“find your way home”
find your way home (stepsAway) :if (stepsAway == 0) {
stop moving}else {
take one step towards home“find your way home”(stepsAway – 1)
}
recursion requirements
base case – recursion ends
recursive call – function call on smaller problem
EVERY RECURSIVE CALL SHOULD BRING YOU CLOSER TO THE BASE CASE!
FACTORIAL(5) = 5 * FACTIORIAL(4)
FACTORIAL(4) = 4 * FACTIORIAL(3)
FACTORIAL(3) = 3 * FACTIORIAL(2)
FACTORIAL(2) = 2 * FACTIORIAL(1)
FACTORIAL(5) = 5 * FACTIORIAL(4)
FACTORIAL(4) = 4 * FACTIORIAL(3)
FACTORIAL(3) = 3 * FACTIORIAL(2)
FACTORIAL(2) = 2 * FACTIORIAL(1)
FACTORIAL(1) = 1 * FACTIORIAL(0)
FACTORIAL(5) = 5 * FACTIORIAL(4)
FACTORIAL(4) = 4 * FACTIORIAL(3)
FACTORIAL(3) = 3 * FACTIORIAL(2)
FACTORIAL(2) = 2 * FACTIORIAL(1)
FACTORIAL(1) = 1 * FACTIORIAL(0)
FACTORIAL(0) = 1
BASE CASE!