C++编程实现对多项式求值

分别用两种方法求多项式的值,第二种方法好于第一种,第一种为2n次乘法n次加法,第二种为n次乘法n次加法,为Horner法。

代码如下:

1:

#include
using namespace std;
template T ployValue(T coef[],int N,const T &x)
{
 T sum=coef[0],y=1;
 int i;
 for(i=1;i
 {
  y*=x;
  sum+=y*coef[i];
 }
 return sum;
}
int main()
{
 int arr[4]={1,2,3,4};
 
 cout<<ployValue(arr,4,1)<<endl;
 cout<<ployValue(arr,4,2)<<endl;
 return 0;
}

 


2:

#include
using namespace std;
template T ployValue(T coef[],int N,const T &x)
{
 T sum=coef[N-1];
 int i;
 for(i=1;i
 {
  sum=sum*x+coef[N-1-i];
 }
 return sum;
}
int main()
{
 int arr[4]={1,2,3,4};
 
 cout<<ployValue(arr,4,1)<<endl;
 cout<<ployValue(arr,4,2)<<endl;
 return 0;
}

结果:

10 49

posted @ 2013-03-25 21:25  dreamsyeah  阅读(518)  评论(0编辑  收藏  举报