void setup() { int answer = factorial(3); println(answer); } int factorial(int inputValue) { int currentAnswer; int subAnswer; println("factorial("+inputValue+"): In factorial function with input value: " + inputValue); if (inputValue == 1) { println("factorial("+inputValue+"): Caught base case inputValue of 1"); currentAnswer = 1; } else { println("factorial("+inputValue+"): The inputValue of " + inputValue + " is not the base case"); println("factorial("+inputValue+"): Calling factorial function again with inputValue: " + (inputValue - 1)); subAnswer = factorial(inputValue - 1); println("factorial("+inputValue+"): The answer returned from that function call was: " + subAnswer); currentAnswer = inputValue * subAnswer; } println("factorial("+inputValue+"): Returning answer of: " + currentAnswer); return currentAnswer; }