Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Convert the following recursive algorithm into a iterative one. Power(y: number;

ID: 3882685 • Letter: C

Question

Convert the following recursive algorithm into a iterative one.

Power(y: number; z: non-negative integer)

1. if z==0 then return 1

2. if z is odd then

3. return (Power(y*y, z/2)*y) comment: z/2 is integer division; note the parentheses

else

4. return Power(y*y, z/2) comment: z/2 is integer division

Some parts of this iterative algorithm is given below. Fill in the blanks:

Power-iterative(y: number; z: non-negative integer)

1. answer=1

2. while z > 0

3.              if z is odd then answer=__________

4.              z = ________

5.              y = _________

6. return answer

Explanation / Answer

Answer is as follows:

1. answer =1

2. While Z > 0

if Z is odd than answer = answer * Y Comment : if z is odd than multiply with y

Z = Z>>1 Comment: i.e. Z = Z/2

Y = Y * Y Comment i.e. Y = Y2

6. Return answer

if there is any query than please ask in comments...........