秦九韶算法解多项式

来源:互联网 发布:淘宝左氏燕窝真假 编辑:程序博客网 时间:2024/04/30 02:31

对于多项式

传统的做法需要n(n+1)/2次乘法和n次加法,而秦九韶算法:


只需n次加法和n次乘法。


/** *秦九韶算法解多项式 *假设ak=k *公式为:Sn=an;Sk=xSk-1+ak;P(x)=S0**/ #include <iostream>using namespace std;double qinJiuShao(int n, double x){double s = 0.0;double k = n;s = k;while(n){s = x * s + --k;//cout<<"s "<<s<<" k "<<k<<endl;n--;}s = s + k;//k is k0return s;}int main(){int n;double x;cout << "Please input n: " << endl;cin >> n;cout << "Please input x: " << endl;cin >> x; cout << qinJiuShao(n, x);}


0 0