簡體   English   中英

使用遞歸添加多項式

[英]Adding polynomials using recursion

我需要創建一個遞歸方法Polynomial add(Polynomial p),使用遞歸將其添加到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;
}
}

但是,這不是遞歸的。

為了獲得遞歸,您需要在該方法內調用一個方法,而不是在該類內創建一個類:

public void add(List numbers) {
    // do stuff
    if (condition)
        add(numbers);
}

我在想他們可能希望您做一些事情,將兩個多項式的x ^ 0項相加,然后將其附加到x *(sum(poly1 / x,poly2 / x))上……我知道/ x無效,但這通常是完成遞歸加法的方式。

-除了Lisp以外,我幾乎從未見過進行遞歸加法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM