Amazon Interview Question
Software Engineer / DevelopersI havn't verifed this code!
int qroot(int x) {
int a=0,b=x,r;
for (;;) {
r = (b + a) / 2;
int t = r*r*r;
if (a==b) return r;
if (t<x) a -= (b-a)/4;
else b += (b-a)/4;
}
}
int exponent=3;
int pow( int base,int exponent)
{
if (exponent == 0) return 1; // base case;
int temp = pow(base, exponent/2);
if (exponent % 2 == 0)
return temp * temp;
else
return (base * temp * temp);
}
binary search of z*z*z = X
- Anonymous June 20, 2011