You might think that n-1 multiplications are needed to compute z", since I" = I. II But observe that, for instance, since 6 = 4 + 2, Iº = 1¹1² = (1²) ²1². (Note: in binary, 6 is 110) Thus can be computed using three multiplications: one to computer², one to compute (r2)2, and one to multiply (22)2 times z². Similarly, since 11 8+2+1, ¹¹ = x²x²x¹ = ((x²)²) ²x²I (Note: in binary, 11 is 1011) So all can be computed using five multiplications. These potential patterns can be rewritten as: 26 = 21-22712120-20 211 21-230-22.71-21.1.20 a. Write an algorithm to take a real number z and a positive integer n and compute z". As you build the algorithm, note the relationship between the binary representation of n and the z2 terms that are included in the product. Remember that we can "shift" the binary digits of a number to the right by dividing by 2 (truncating to keep the value an integer) b.extra credit Analyze your algorithm in part (a) and determine the number of multiplications performed in terms of the value of n. c. Compare your algorithm's time complexity from part (b), with the solu- tion value of [log2 (n)]. If they are different, how much do they differ, and if not, what techniques did you use to approach your solution?