题意和原理
大概就是让我们理解 horner’s rule(也叫做秦九韶算法) 的原理和过程。
假定现在有一个n次多项式需要计算。
,也就是,
按照朴素算法来计算,我们需要次乘法和次加法。我们知道做乘法的代价是很高的,所以朴素算法是非常低效的。
那么,现在引入今天的重头戏——秦九韶算法(Horner法则)。
这样,对于一个n次多项式,我们至多需要做次乘法和次加法。
代码实现
#include <bits/stdc++.h>
using namespace std;
int main(){
int arr[5]={2,1,0,8,4};
int n=4;
int x=3;
double poly=0;//ploynomial,多项式
for(int i=n;i>=0;i--){
poly=arr[i]+x*poly;
}
cout<<"poly="<<poly<<endl;
}
参考
数论 | 秦九韶算法(Horner法则) //写的挺详细,强烈推荐