首页 > 试题广场 >

假设写一个对多项式求值的函数,这里,多项式的次数为n,系数

[问答题]
 假设写一个对多项式求值的函数,这里,多项式的次数为n,系数为a0,a1,.. an.对于值x,我们对多项式求值,计算
a0十a1x+a2x2+ ...+ anxn       (5.2)
这个求值可以用下面的函数来实现,参数包括一个系数数组a、值x和多项式的次数degree(等式(5.2)中的值n)。在这个函数的一个循环中,我们计算连续的等式的项,以及连续的x的幂:
double poly(double a[],doublo x,long degree){
  long i;
  double result = a[0] ;
  double xpwr = x;  /* Equals x^i at start of loop */
  for (i=1;i<= degree; i++) {
      reault += a[i];
      xpwr=x*xpwr;
  }
  return result;
}
A.对于次数n,这段代码执行多少次加法和多少次乘法运算?
B.在我们的参考机上,算术运算的延迟如图5-12所示,我们测量了这个函数的CPE等于5.00。根据由于实现函数第7~8行的操作迭代之间形成的数据相关,解释为什么会得到这样的CPE。


这道题你会答吗?花几分钟告诉大家答案吧!