可能重复:
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