Skip to main content
Logo image

Section 2.6 Exponentiation Algorithm

We present an algorithm for computing a power of an integer. We call this algorithm the Naive Exponentiation algorithm, since there is a more clever way of calculating powers which we will present with Algorithm 15.20.
In this algorithm, the number of steps in the sequence of computations, \(n\text{,}\) is directly given as one of the inputs. We demonstrate this algorithm with a numerical example.

Example 2.41. Computing \(5^3\) with Algorithm 2.40.

We compute \(5^3\) with Algorithm 2.40.
Input: \(b=5\) and \(n=3\)
  1. As \(3\ne 0\) we continue with step 2.
  2. let \(c:=1\)
  3. let \(i:=0\)
  4.a. let \(c:=1\cdot 5=5\)
  4.b. let \(i:=0+1=1\)
  5. As \(i=1\) and \(n=3\) the statement \(i=n\) is false. We continue with step 4.a.
  4.a. let \(c:=5\cdot 5=25\)
  4.b. let \(i:=1+1=2\)
  5. As \(i=2\) and \(n=3\) the statement \(i=n\) is false. We continue with step 4.a.
  4.a. let \(c:=5\cdot 25=125\)
  4.b. let \(i:=2+1=3\)
  5. As \(i=3\) and \(n=3\) we have \(i=n\text{.}\) We continue with step 6.
  6. We return the value of \(c\) which is 125.
Output: \(125\)
We have computed \(5^3=125\text{.}\)
Work through further the exponentiation algorithm with other input values in Example 2.42.

Example 2.42. Exponentiation algorithm interactive.