鱼C论坛

 找回密码
 立即注册
查看: 3410|回复: 1

请问为什么在电脑上秦九韶算法快不了多少啊?

[复制链接]
发表于 2019-9-5 17:58:19 | 显示全部楼层 |阅读模式
15鱼币
本帖最后由 sunnyrubik 于 2019-9-8 22:33 编辑

不是都说秦九韶比普通的写法快几倍吗?
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<math.h>
  4. #include<time.h>

  5. #define MAXK 1e8 //被测函数最大重复调用次数

  6. double f1(int n,double a[],double x);
  7. double f2(int n,double a[],double x);//秦九韶算法

  8. clock_t start,stop;
  9. double duration;

  10. int main()
  11. {
  12.         int i;
  13.         double a[9];
  14.        
  15.         for(i=0;i<10;i++)
  16.         {
  17.                 a[i]=(double)i;
  18.         }
  19.          
  20.         start = clock();
  21.         for(i = 0;i < MAXK;i++)
  22.         f1(9,a,1.1);
  23.         stop = clock();
  24.         duration = ((double)(stop-start))/CLK_TCK/MAXK;//计算函数单次运行时间
  25.         printf("ticks1 = %f\n",(double)(stop-start));
  26.         printf("duration = %6.2e\n",duration);
  27.        
  28.         start = clock();
  29.         for(i = 0;i < MAXK;i++)
  30.         f2(9,a,1.1);
  31.         stop = clock();
  32.         duration = ((double)(stop-start))/CLK_TCK/MAXK;
  33.         printf("ticks2 = %f\n",(double)(stop-start));
  34.         printf("duration = %6.2e\n",duration);
  35.        
  36.         return 0;
  37. }

  38. double f1(int n,double a[],double x)
  39. {
  40.         int i;
  41.         double p = a[0];
  42.         for(i=1;i<=n;i++)
  43.         {
  44.                 p += (a[i] * pow(x,i));
  45.         }
  46.         return p;
  47. }

  48. double f2(int n,double a[],double x)
  49. {
  50.         int i;
  51.         double p = a[n];
  52.         for(i=n;i>0;i--)
  53.         {
  54.                 p = a[i-1] + x*p;
  55.         }
  56.         return p;
  57. }
复制代码


屏幕截图(186).png

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-9-8 17:29:53 | 显示全部楼层
本帖最后由 sunnyrubik 于 2019-9-8 17:31 编辑

已解决。。。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-25 04:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表