double xと整数nをとり、x^nを返すpowerというJavaを使用して再帰的メソッドを書く必要があります。ここまで私がこれまで持っていたことがあります。nが偶数の場合に最適化されたx^nの再帰メソッド
public static double power(double x, int n) {
if (n == 0)
return 1;
if (n == 1)
return x;
else
return x * (power(x, n-1));
}
このコードは期待どおりに機能します。しかし、私は余分な距離を移動し、次の練習を実行しようとしています。
"任意の課題:x^n =(x ^(n/2)を使用して、 ))^ 2。 "
nが偶数の場合、最後の式を実装する方法がわかりません。私は再帰を使うことはできないと思う。私は以下を実装しようとしましたが、intの能力に倍を取ることができないので、これも機能しません。
if (n%2 == 0)
return (x^(n/2))^2;
誰かが正しい方向に向いていますか?私は何かが明らかに欠けているように感じる。すべての助けに感謝します。
私は自分で問題に取り組み、良いコードを示した学生であることをあなたに投票しました。よくやった。ヒント:再帰呼び出しをあなたの電源ケースに組み込む方法について考えてみましょう。 – duffymo
ありがとうございます!とても有難い! –
質問の表記はあなたを混乱させる。 Javaでは、 '^'はビット単位のXORを意味します。準数式表記では、「x^2」は「xを2乗する」ことを意味します。はい、あなたはすでに答えがありましたが、私は戦いの表記法を明示したかったのです。 – msw