观多项式求和有感
来源:互联网 发布:硬盘录像机端口 编辑:程序博客网 时间:2024/05/22 12:26
对于多项式求和,最初是在学习C语言的时候看书的!当时没有什么体会,可能是因为当时的道行太浅根本看不出什么花样出来,也许是因为刚开始接触C,没有什么多余的心思去具体想想程序,也许是因为没有深入学习的想法!反正种种原因,当初只是根据要求实现了这个程序,就没有管了.而今重新看多项式,让我感想颇多,也解了我多时的困惑,一直不知道怎么进行的算法突然有了思路。在此,贴出其实现方法
#include<iostream>using namespace std;//冲世纪template<class T2>float polyEval(T2& coeff, const float x){int count = sizeof(coeff) / sizeof(coeff[0]);//数组长度float y = 1, value1 = coeff[0];for (int i = 1; i < count; i++){y *= x;value1 += y * coeff[i];}return value1;//返回多项式的求和}
这是传统的实现方法。2n次乘法,n次加法运算;
下面是Horner法则求多项式的算法实现
n 次 乘法 ,n 次加法
template<class T3>float polyEval1(T3& coeff, const float x){int count = sizeof(coeff) / sizeof(coeff[0]);float value1 = coeff[count - 1];for (int i = 1; i < count; i++){value1 = value1 * x + coeff[count - i - 1];}return value1;}int main(){float a[10] = { 8.5, 9, 3, 7.0, 6,9.9,10.1,10.3,12.9,12 };float y = 0;for (int i = 0; i < 10; i++){cout << a[i] << endl;y += a[i];}float x = 1.0;float result = polyEval(a, x);float result1 = polyEval1(a, x);cout << result << endl;cout << result1 << endl;cout << y << endl;return 0;}和往常一样,我选择了用模板函数。因为方便。
至于其它的就保存于心吧!说不定以后再看这个文档的时候有新的想法。
实现工具VS13
阅读全文
1 0
- 观多项式求和有感
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- Python学习杂记(网络爬虫)
- Maven的核心笔记(5)maven的依赖范围
- NULL FIRST
- java中的集合和数组
- c++中浮点数的储存方式
- 观多项式求和有感
- 一个web项目web.xml的配置操作
- 线性表综合实验之单链表的实现
- Spark(黑名单过滤)
- 哈夫曼树
- 动态规划 0-1背包问题和时间轴问题
- 数据结构与C语言实现(二)——堆栈和队列
- JPEG解码程序(带中文注释)
- Git配置用户名密码