霍纳规则
霍纳规则是一种使用最少数目的乘法在点x0处计算多项式的方法。如果一个多项式为A(x)=anxn+an-1xn-1+……+a1x+a0,则霍纳规则为:
A(x0)=(…(anx0+an-1)x0+…+a1)x0+a0
由公式可以看出括号内的部分即为递归的过程,最后递归的出口应为a0
#include <iostream>
using namespace std;
int Horner(int *a,int i,int x,int n)
{
if(i==n-1)
return a[i];
else
{
return x*Horner(a,i+1,x,n)+a[i];
}
}
int main()
{
int a[]={
1,2,3};
cout << Horner(a,0,2,