[英]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.