#include<stdio.h>
#include<math.h>
#include <time.h>
clock_t start, stop;
double duration;
#define MAXN 100000
/*多项式最大项数,即多项式阶数+1 */
double f1(int n, double a[], double x);
double f2(int n, double a[], double x);
int main()
{
int i;
double a[MAXN]; /*存储多项式的系数*/
for(i = 0; i < MAXN; i++)
a[i]=(double)i;
start=clock();
f1(MAXN - 1, a, 1.1);
stop=clock();
duration = ((double)(stop - start)) / CLK_TCK;
printf("ticks1 =%f\n", (double)(stop - start));
printf("duration1 =%6.2e\n", duration);
start = clock();
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);
return 0;
}
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;
}
数据结构(学习001天) 计算程序运行时间
最新推荐文章于 2022-05-28 00:10:13 发布