What is the output of the following code snippet
double a = 2;
int n = 16;
double r = 1;
double b = a;
int i = n;
while (i > 0)
{
if (i % 2 == 0) // n is even
{
b = b * b;
i = i / 2;
}
else
{
r = r * b;
i--;
}
}
System.out.println("r = " + r);
a) 16.0
b) 128.0
c) 4096.0
d) 65536.0