0

再帰を使用してこれを p に追加する再帰メソッド Polynomial add(Polynomial p) を作成する必要があります。Java には add(Polynomial p) メソッドがあると読みましたが、それは再帰的ではありません。

これまでの私の最善の試みはこれでした:

public class Polynomial {
int[] coef;
int degree;

public int deeg() {
int d = 0;
for (int r = 0; r < coef.length; r++)
if (coef[i] != 0) d = r;
return d;
}

public Polynomial addition(Polynomial p) {
Polynomial apple = this;
Polynomial orange = new Polynomial(0, Math.max(apple.degree, orange.degree));
for (int r = 0; r <= apple.degree; i++) orange.coef[r] += apple.coef[r];
for (int r = 0; r <= p.degree; r++) orange.coef[r] += p.coef[i];
orange.degree = orange.deeg();
return orange;
}
}

繰り返しますが、これは再帰的ではありません。

4

2 に答える 2

0

再帰を取得するには、このクラス内でクラスを作成するのではなく、このメソッド内でメソッドを呼び出す必要があります。

public void add(List numbers) {
    // do stuff
    if (condition)
        add(numbers);
}
于 2011-03-15T17:09:57.857 に答える
0

おそらく、2 つの多項式の x^0 項を追加し、それを x*(sum(poly1/x,poly2/x)) に追加する何かをしてほしいと思っていると思います...私はそれを認識しています/x は機能しませんが、通常は再帰的な加算が行われます。

-- Lisp 以外で再帰的な加算を行うものはほとんど見たことがありません。

于 2011-03-15T17:12:46.847 に答える