The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+13 votes

If $n$ is a power of 2, then the minimum number of multiplications needed to compute $a^n$ is

  1. $\log_2 n$
  2. $\sqrt n$
  3. $n-1$
  4. $n$
asked in Algorithms by Veteran (69k points) | 872 views

2 Answers

+22 votes
Best answer
a. $\log n$

$a^n = (a^2)^{\frac{n}{2}}$.

One multiplication and recurrence on $\frac{n}{2}$. So, we get the recurrence relation for the number of multiplications as

$T(n) = T(n/2) + 1$.

This gives $T(n) = \log_2 n$

For n = 8, we can do

$b = a \times a$

$b = b\times b$

$b = b\times b$ and we get $b = a^8$
answered by Veteran (346k points)
edited by
Using Recurrence:

$a^n = a^{\frac{n}{2}}.a^{\frac{n}{2}}$
(here n is in a power of 2, so we would never have a fraction, each time when we divide n with 2.)

Here once we solve $a^{\frac{n}{2}}$, then we need one more multiplication that is multiplying $a^{\frac{n}{2}}$ to itself.

Hence recurrence:
T(n) = T$(\frac{n}{2})$+1.
Option 1 satisfies this.

n is a power of 2 .

So, $a_{n}$ could be $\left (2^{x} \right )^{n}$

Now, if we think $\left (2^{x} \right )^{n}$=$2^{m}$


$T\left ( 2^{m} \right )=T\left (2 ^{\frac{m}{2}} \right )+1$

Now, applying master 2nd theorem , answer is Option (A)

+4 votes
let n = 2^k

a^n = a^(2^k) = (a^2)^k

total multiplications = k-1 + 1(for a^2) = k = logn
answered by (453 points)
Suppose a=2 k=3 ... So $2^{(2^{3})}$ = $2^{8}$ = 256

 and  $(2^{2})^{3}$ = $4^{3}$ = 64 .... is it ok according to ur a^(2^k) = (a^2)^k ??

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true

33,593 questions
40,128 answers
38,389 users