1.1-时间记录以及多项式的秦九韶公式

2023-10-07 06:20

本文主要是介绍1.1-时间记录以及多项式的秦九韶公式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一个fx是多项式的一般式,第二个是秦九韶公式。。

秦九韶公式效率更高,更快。

在这里插入图片描述
接下来说一下ctime的计时工具:

ctime里定义的CLK_TCK,其值每个电脑不一样,我的电脑输出它后显示1000;

clock_t start,stop; clock_t这个是数据类型,定义了两个变量用来存储起始时间和终止时间

timee=((double)(stop-start))/CLK_TCK; 终点减去起点转换为double再除以CLK_TCK将其转换为秒数。

start=clock();//计算从main函数到当前的时间
stop=clock();//计算main函数到当前的时间
clock()函数在ctime头文件中定义。

注意:计算函数运行时间最好将函数放在start和stop之间
输出时间是最好%e,用科学计数法表示。若输出结果为零,是因为时间实在太短,介意将其放入循环重复执行,最后再除以循环次数即可。。

#include <iostream>
#include <cstdio>
#include <string>
#include <vector>
#include <queue>
#include <ctime>
#include <cmath>
#include <algorithm>
using namespace std;
typedef long long ll;
#define maxn 10005
#define mod 7654321//普通算法
double f(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 ff(int n,double a[],double x)
{double p=a[n];for(int i=n;i>0;i--){p=a[i-1]+x*p;}return p;
}
//clock()函数 头文件为ctime
//clock_t是clock()函数的类型 start和stop是该类型的两个变量
clock_t start,stop;
//存储秒数
double timee;int main()
{//在start和stop之间放函数测时间double a[101];double x=1.5;for(int i=0;i<=100;i++){a[i]=double(i);}start=clock();//计算从main函数到当前的时间for(int i=0;i<1e7;i++)f(100,a,x);stop=clock();//计算main函数到当前的时间timee=((double)(stop-start))/CLK_TCK;//计算秒数  ctime里定义的CLK_TCK//cout<<CLK_TCK<<endl;printf("ticks=%.6lf\n",(double)(stop-start));printf("timee=%6.2e\n",timee);start=clock();for(int i=0;i<1e7;i++)ff(100,a,x);stop=clock();timee=((double)(stop-start))/CLK_TCK/1e7;printf("ticks=%.6lf\n",(double)(stop-start));printf("timee=%6.2e\n",timee);return 0;
}

这篇关于1.1-时间记录以及多项式的秦九韶公式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/156616

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

usaco 1.1 Broken Necklace(DP)

直接上代码 接触的第一道dp ps.大概的思路就是 先从左往右用一个数组在每个点记下蓝或黑的个数 再从右到左算一遍 最后取出最大的即可 核心语句在于: 如果 str[i] = 'r'  ,   rl[i]=rl[i-1]+1, bl[i]=0 如果 str[i] = 'b' ,  bl[i]=bl[i-1]+1, rl[i]=0 如果 str[i] = 'w',  bl[i]=b

【WebGPU Unleashed】1.1 绘制三角形

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信号:digital_twin123 在 3D 渲染领域,三角形是最基本的绘制元素。在这里,我们将学习如何绘制单个三角形。接下来我们将制作一个简单的着色器来定义三角形内的像素

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

批处理以当前时间为文件名创建文件

批处理以当前时间为文件名创建文件 批处理创建空文件 有时候,需要创建以当前时间命名的文件,手动输入当然可以,但是有更省心的方法吗? 假设我是 windows 操作系统,打开命令行。 输入以下命令试试: echo %date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%_%time:~6,2% 输出类似: 2019_06

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图

【MRI基础】TR 和 TE 时间概念

重复时间 (TR) 磁共振成像 (MRI) 中的 TR(重复时间,repetition time)是施加于同一切片的连续脉冲序列之间的时间间隔。具体而言,TR 是施加一个 RF(射频)脉冲与施加下一个 RF 脉冲之间的持续时间。TR 以毫秒 (ms) 为单位,主要控制后续脉冲之前的纵向弛豫程度(T1 弛豫),使其成为显著影响 MRI 中的图像对比度和信号特性的重要参数。 回声时间 (TE)