Это популярный вопрос для интервью. Реализация моей собственной функции pow. Есть несколько популярных рекурсивных подходов, доступных онлайн, но я пытаюсь сделать это итеративно. Код работает для n> 0, но я немного теряюсь, когда он становится ниже 0. Вот мой код.Реализация моей собственной функции pow в Java
public double myPow(double x, int n) {
if(x == 0) return 0;
if(n == 0) return 1;
double result = 1;
if(n > 0){
for(int i=1; i <= n; i++){
result = result * x;
}
}else{
for(int i=1; i<= n; i++){
//calculate the nth root
}
}
return result;
}
Любая помощь с оценкой n-го корня.
Параметр 'n'th корень не тогда, когда' n' отрицательна; x^(- n) = 1/(x^n); корнем 'n'th является x^(1/n). – rgettman
'myPow (0.0,0)' будет возвращать '0'. Это то, что вы хотите? Кажется, более целесообразно исключать исключение. – Gendarme
@ rgettman Вы правы моей ошибкой. – Zeus