1.普通的多项式计算
template<class T>
T ployEval(T coeff[], int n, const T& x)
{
// 计算n阶多项式在x处的值,系数为coeff[0:n]
T y = 1, value = coeff[0];
for(int i = 1; i <= n; i++)
{
// 加上下一项
y *= x;
value += y*coeff[i];
}
return value;
}
2.利用Horner法则的多项式计算
template<class T>
T horner(T coeff[], int n, const T& x)
{
// 计算n阶多项式在x处的值,系数为coeff[0:n]
T value = coeff[n];
for(int i = 1; i <= n; i++)
{
value = value*x + coeff[n - i];
}
return value;
}