Amazon Interview Question
Software Engineer / DevelopersCountry: India
Interview Type: Phone Interview
Ya it can be done in logn time. Here is the code
public double power(double d,int i)
{
if(d%2==0)
{
return power(d*d,i/2);
}
else
{
return d*power(d*d,i/2);
}
}
public class Power {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("the value 10^9 is " + power(10,9));
}
public static long power(long base, long power){
if(power==1)
return base;
if(power%2 == 0){
return (power(base,power/2)*power(base,power/2));
}
else{
return (power(base,power/2)*power(base,power/2)*base);
}
}
}
O(nLogn)
- LBaralgeen May 19, 2012