Solution Review: Compute Square of a Number
This review provides a detailed analysis of the ways to compute the square of a number.
We'll cover the following
Solution #1: Iterative Method:
def findSquare(testVariable) :return testVariable * testVariable# Driver CodetestVariable = 5print(findSquare(testVariable))
Explanation
The iterative solution to this problem is simple. We multiply the input variable with itself and return the result.
Solution #2: Recursive Method:
def findSquare(targetNumber) :# Base caseif targetNumber == 0 :return 0# Recursive caseelse :return findSquare(targetNumber - 1) + (2 * targetNumber) - 1# Driver CodetargetNumber = 5print(findSquare(targetNumber))
Explanation
Let’s break the problem down mathematically. We will compute the square of a number by direct recursion:
To implement the square operation as a recursive function, we need to first express the square operation in terms of itself:
Mathematically we know that:
Let’s isolate to one side of the equation and rest of the components to the other side:
This equation will be our recursive case while the of will be the base case:
if targetNumber == 0 :
return 0
The visualization below will help you better understand this code:
How about another coding challenge?