a0十x(a1+ x(a2 +...+ x(an-1 + xan)...))
使用Horner法,我们可以用下面的代码实现多项式求值:
/* Apply Horner's method */
double polyh(double a[],double x,long degree)
{
long i;
double result=a[degree] ;
for (i=degree-1; i>= 0; i--)
result = a[i] + x*result;
return result;
} A.对于次数n,这段代码执行多少次加法和多少次乘法运算?B.在我们的参考机上,算术运算的延迟如图5-12所示,测量这个函数的CPE等于8.00。根据由于实现函数第7行的操作迭代之间形成的数据相关,解释为什么会得到这样的CPE。
