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...........