多项式求和
来源:互联网 发布:油画 知乎 编辑:程序博客网 时间:2024/06/05 04:44
#include <stdio.h>#include <time.h>#include <math.h>#define MAXN 10#define MAXK 1e7clock_t start, stop;double duration;double f1(int n, double a[], double x);//直接的方法double f2(int n, double a[], double x);//从里面到外面的方法int main(){ int i; double a[MAXN], sum1, sum2; for(i=0; i<MAXN; i++) a[i] = (double)i; start = clock(); for(i=0; i<MAXK; i++) sum1=f1(MAXN-1, a, 1.1); stop = clock(); duration = ((double)(stop-start))/CLK_TCK/MAXK; printf("sum1 = %f\n", sum1); printf("ticks1 = %f\n",(double)(stop-start)); printf("duration = %6.2e\n\n\n", duration); start = clock(); for(i=0; i<MAXK; i++) sum2=f2(MAXN-1, a, 1.1); stop = clock(); duration = ((double)(stop-start))/CLK_TCK/MAXK; printf("sum2 = %f\n", sum2); printf("ticks2 = %f\n",(double)(stop-start)); printf("duration = %6.2e\n", duration); return 0;}double f1(int n, double a[], double x)//算法复杂度( 1+2+3...+n=(n^2+n)/2) 其实就是算乘法的次数,Tn=C1n^2+C2n { double sum=0; int i; for(i=0; i<=n; i++) { sum += (a[i]*pow(x,i));//这里+=后面加个大括号更保险 } return sum;}double f2(int n, double a[], double x)//算法复杂度n Tn=C*n{ double sum=a[n]; int i; for(i=n; i>0; i--)//注意这里是>0 { sum = a[i-1] + sum*x;//这里也巧妙 } return sum;}
阅读全文
0 0
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- 多项式求和
- linux 设置mail
- UVA
- iOS多线程——Dispatch Source 工程广告页有使用以及Iphone X 广告页启动变形
- 动态SQL中使用Open for语句
- ViewPager之setOffscreenPageLimit()解析
- 多项式求和
- 高可用+高并发+负载均衡架构设计
- 二叉树总结
- I
- HDU
- unhandle exception at 0X75c6c54F........exception at memory location 0x0039f628
- mkdocs安装
- 我用Python爬了12万条影评,告诉你《战狼Ⅱ》都在说些啥
- 代码整洁_类