これは一般的なインタビューの質問です。私自身のpow関数を実装する。 オンラインで利用できるいくつかの一般的な再帰的アプローチがありますが、私はそれを繰り返し実行しようとしています。コードはn> 0で動作しますが、0より小さくなると少し失われます。ここに私のコードがあります。Javaで独自のpow関数を実装する
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'が負の場合、 'n'thルートがありません。 x ^( - n)= 1 /(x^n)である。 n番目の根はx ^(1/n)です。 – rgettman
'myPow(0.0,0)'は '0'を返します。それはあなたが欲しいものですか?代わりに例外をスローする方が適切なようです。 – Gendarme
@rgettmanあなたは私の間違いです。 – Zeus