以下代碼搜索多項式函數的一個零點。它使用遞歸技術:在遞歸中返回一組數字
private static double funktion(int[] koef, double x){
return koef[0] * Math.pow(x,4) + koef[1] * Math.pow(x,3) +
koef[2] * Math.pow(x,2) + koef[3]*x + koef[4];
}
private static double nullstelle(double a, double b, int[] koef){
double middle = (a + b)/2;
double result = middle;
if(Math.abs(a-b) > 0.00001){
double sin = funktion(koef, middle);
if(sin == 0){
result = middle;
}else if(Math.signum(funktion(koef, a)) ==
Math.signum(funktion(koef, middle))){
result = nullstelle(middle, b, koef);
}else{
result = nullstelle(a, middle, koef);
}
}
return result;
}
我想知道如何返回所有的零點。我的想法是使用一個數組,但我不知道如何做到這一點。有任何想法嗎?
我不允許使用任何比陣列其他(如哈希表或設置是不允許的)
數組是否需要排序? – Woot4Moo 2010-11-04 14:33:24
否可能未排序 – 2010-11-04 14:40:59
好的。我提供了以下對您有價值的步驟。 – Woot4Moo 2010-11-04 14:41:33