计算多项式的值(秦九昭算法,clock()函数的使用)
来源:互联网 发布:ubuntu nvidia 分辨率 编辑:程序博客网 时间:2024/06/03 18:57
/* clock()函数使用模板clock():捕捉从程序开始运行到clock()被调用所消耗的时间。这个时间单位是clock tick。常数CLK_TCK:机器时钟每秒所走的时钟打点数 clock_t是clock()函数返回的变量类型duration记录被测函数运行时间,以秒为单位 #include <stdio.h>#include <time.h>clock_t start,stop;double duration;int main(){ //不在测试范围内的准备工作写在clock()调用之前,例如输入处理之类 start=clock();//start存储从main函数开始被调用到clock()被调用所走的ticks Myfunction(); stop=clock();//stop存储从main函数开始被调用到这个clock()被调用所走的ticks duration=((double)(stop-start))/CLK_TCK; //其他不在测试范围内的处理写在后面,例如输出处理之类 return 0; } */ //假设多项式f(x)=0*x^0+1*x^1+2*x^2+...+9*x^9#include <stdio.h>#include <time.h>#include <math.h>clock_t start,stop;double duration;#define MAXN 10//多项式最大项数,即多项式阶数+1 #define MAXK 1e7//被测函数最大重复调用次数 //一种比较慢的常规方法 double f1(int n,double a[],double x){ int i; double p=a[0]; for(i=1;i<=n;i++) p+=(a[i]*pow(x,i)); return p;}//秦九韶算法利用乘法结合律从内向外展开 double f2(int n,double a[],double x){ int i; double p=a[n]; for(i=n;i>0;i--) p=a[i-1]+x*p; return p;}//让被测函数重复运行充分多次,使得测出的总的时钟打点间隔充分长,最后计算平均每次运行的时间即可 int main(){ int i; double a[MAXN];//存储多项式系数 for(int i=0;i<MAXN;i++) a[i]=(double)i; start=clock(); for(int i=0;i<MAXK;i++) //重复调用函数以获得充分多的时钟打点数 f1(MAXN-1,a,1.1); stop=clock(); duration=((double)(stop-start))/CLK_TCK/MAXK; printf("ticks1=%f\n",(double)(stop-start)); printf("duration1=%6.2e\n",duration); start=clock(); for(int i=0;i<MAXK;i++) f2(MAXN-1,a,1.1); stop=clock(); duration=((double)(stop-start))/CLK_TCK; printf("ticks2=%f\n",(double)(stop-start)); printf("duration2=%6.2e\n",duration); }
阅读全文
0 0
- 计算多项式的值(秦九昭算法,clock()函数的使用)
- clock()函数的使用
- clock()函数的使用
- 计算多项式值的秦九韶算法
- 计算多项式的值
- 计算多项式的值
- 计算程序运行时间的函数clock()
- 算法实现计算一维多项式的值
- 【c语言】递归函数计算厄密多项式的值
- 38:计算多项式的导函数
- 递归计算多项式的值
- 07:计算多项式的值
- 36:计算多项式的值
- C++中clock()函数的使用
- 计算程序运行时间的函数Sleep,clock,GetTickCount,QueryPerformanceCounter
- clock()函数的用法
- 一元多项式的计算
- 一元多项式的计算
- 快速入门Maven(二)(Eclipse构建Maven项目)
- Hadoop MapReduce数据处理过程以及更多示例
- java基础---(1)java中的final,static关键字
- 十五:while loop
- Java——文件路径操作
- 计算多项式的值(秦九昭算法,clock()函数的使用)
- html页面的渲染过程
- bigDecimal的精度和四舍五入
- C++plus笔记10
- 各种环境下的编码
- 浏览器加载和渲染html的顺序
- linux学习[查漏补缺]
- A. Greed(水题)
- 重装系统(WIN10)