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

相关文章

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

go中的时间处理过程

《go中的时间处理过程》:本文主要介绍go中的时间处理过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 获取当前时间2 获取当前时间戳3 获取当前时间的字符串格式4 相互转化4.1 时间戳转时间字符串 (int64 > string)4.2 时间字符串转时间

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/