可能重複:
Horner's recursive algorithm for fractional part - Java霍納算法遞歸返回錯誤的結果
我寫一個程序Horne'r算法,我會說實話,我沒有太多的遞歸體驗。我有這種方法設置爲只接受一個分數(還有另一種方法接受並返回整數),它將返回從基'r'轉換爲10的結果。我不確定原因,但該方法不似乎正在經歷最後的迭代。任何建議,我需要做什麼來糾正這個問題將不勝感激。
(ex: c = 011, xFinal = 2, i = 2)
Expected answer = .375
Actual answer returned = .75
public static double getHornerFraction(long[] c, int xFinal, int i) {
if (i == 0) {
return ((double)c[i])/xFinal;
}
return (getHornerFraction(c, xFinal, i-1) + c[i])/xFinal;
}
你能提供你正試圖通過遞歸實現的數學公式嗎?我對Horner的算法並不熟悉,wiki並沒有那麼有用:D – gtgaxiola
我有同樣的問題,所以我只是從OP的預期推斷出算法。 –
似乎不是同一個Kwariz。這個問題涉及遺忘除以基數,而不是使遞歸方向錯誤。 – IronMan84