【发布时间】:2015-10-25 01:40:36
【问题描述】:
我第一次在这里了解到霍纳法则: Horner's rule in C++ 由于我正在学习递归ATM,我想知道是否可以使用递归来实现这个算法?
int HornerR( int a[], int n, int x, int index )
{
if (index==n) return a[n];
else
return x*HornerR(a,n ,x,index+1) + a[index];
}
我认为只有第四个参数才有可能。
【问题讨论】:
-
是的,应该可以用递归编写试试看。如果您有问题,您可以提出另一个问题(或编辑这个问题)并从那里开始。
-
我想知道是否有一种方法可以在没有索引参数的情况下实现它...??
-
实际上,这与我想出的完全一样,而且似乎有效。如果有没有第四个参数的方法我没有想出来。
-
参数
n的唯一原因是Java中C中的数组没有长度函数,这将是3个参数,循环版本是2。我认为额外的参数是必要的。 -
有道理。我不得不想出一个不使用 index 参数的解决方案。我猜应该有可能