Итак, я отправился на собеседование, и они попросили меня написать быстрый метод математической власти на белой доске, и вот что я там положил.
public static double pow(double base, double power) {
double result = 1.0;
for(double x = 0; x < power; x++) {
result = result * base;
}
return result;
}
Это сработало, и они были удовлетворены этим, но затем продолжили спрашивать меня, как я мог бы сделать его более эффективным, и у меня не было ответа. Так что мой вопрос: можете ли вы получить более эффективный, чем этот, или это был просто вопрос, чтобы немного попотеть? Я думаю, что может быть какое-то прямое решение для смещения бит, но я не совсем уверен, я думаю, что это применимо только к силам 2? Любые идеи?
* ИЗМЕНИТЬ Извините, я забыл упомянуть, что подпись метода была предоставлена мне (двойные входы), и мне сказали, что я не могу использовать встроенные математические библиотеки.