The following function computes X^Y for positive integers X and Y. int exp(int…
GATE · 2016 · CS · Set 2 · Computer Science & IT
The following function computes X^Y for positive integers X and Y.
int exp(int X, int Y) {
int res = 1, a = X, b = Y;
while (b != 0) {
if (b % 2 == 0) {
a = a * a;
b = b / 2;
} else {
res = res * a;
b = b - 1;
}
}
return res;
}Which one of the following conditions is TRUE before every iteration of the loop?
- A.
X^Y = a^b
- B.
(res ∗ a)^Y = (res ∗ X)^b
- C.
X^Y = res ∗ a^b
- D.
X^Y = (res ∗ a)^b
Attempted by 215 students.
Sign up free to check your answer
Sign up freeLoading lesson…