Horner法则
Horner Rule是一种对多项求值的高效方法。
直接计算的话,需要进行的乘法次数为:1+2+3+......+n,
Horner给出的算法:
需要进行的乘法次数为:N次
#include<iostream> #include<deque> using namespace std; double horner(deque<double> & coe,double x,double pre=0.0){ if(coe.size()<=0) return pre; double rect=pre*x+coe.back(); coe.pop_back(); return horner(coe,x,rect); } int main(){ deque<double> d; for(int i=1;i<6;++i) d.push_back(i); double x=2; cout<<horner(d,x)<<endl; return 0; }
本文来自博客园,作者:高性能golang,转载请注明原文链接:https://www.cnblogs.com/zhangchaoyang/articles/2668233.html