CSP-J基础之cmath常见函数

2024-09-08 06:28
文章标签 基础 函数 常见 csp cmath

本文主要是介绍CSP-J基础之cmath常见函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
    • 1. **`sin` 函数**
    • 2. **`cos` 函数**
    • 3. **`exp` 函数**
    • 4. **`log` 函数**
    • 5. **`fabs` 函数**
    • 6. **`pow` 函数**
    • 7. **`sqrt` 函数**
    • 8. **`ceil` 函数**
    • 9. **`floor` 函数**
  • 总结


前言

在计算机科学与编程中,数学函数是解决各种计算问题的基础工具。C++标准库中的 cmath 头文件提供了一系列常用的数学函数,这些函数广泛应用于算法设计、数据分析和科学计算等领域。本文将介绍 cmath 中的一些常见函数,包括 sincosexplogfabspowsqrtceilfloor 函数,并简要说明其数学运算过程。


1. sin 函数

函数原型

double sin(double x);

说明
sin(x) 函数计算的是角度 x(单位为弧度)的正弦值。正弦函数在单位圆上定义,其值是对应角度的对边与斜边的比值。

数学表达式
在这里插入图片描述

例如,sin(π/2) 结果为 1。

2. cos 函数

函数原型

double cos(double x);

说明
cos(x) 函数计算的是角度 x(单位为弧度)的余弦值。余弦函数在单位圆上定义,其值是对应角度的邻边与斜边的比值。

数学表达式
在这里插入图片描述

例如,cos(π) 结果为 -1。

3. exp 函数

函数原型

double exp(double x);

说明
exp(x) 函数计算的是自然常数 ( e )(约 2.718)的 x 次方。它是指数函数的标准形式。

数学表达式
在这里插入图片描述

例如,exp(1) 结果为 ( e \approx 2.718 )。

4. log 函数

函数原型

double log(double x);

说明
log(x) 函数计算的是 x 的自然对数,即以自然常数 ( e ) 为底的对数。它是指数函数的反函数。

数学表达式
在这里插入图片描述
也就是以e为底x的对数

例如,log(e) 结果为 1。

5. fabs 函数

函数原型

double fabs(double x);

说明
fabs(x) 函数计算 x 的绝对值。绝对值是一个数值到原点的距离,始终为非负。

数学表达式
在这里插入图片描述

例如,fabs(-3.14) 结果为 3.14。

6. pow 函数

函数原型

double pow(double base, double exponent);

说明
pow(base, exponent) 函数计算 baseexponent 次方。它是幂运算的标准函数。

数学表达式
在这里插入图片描述

例如,pow(2, 3) 结果为 8。

7. sqrt 函数

函数原型

double sqrt(double x);

说明
sqrt(x) 函数计算 x 的平方根。平方根是使得 ( y^2 = x ) 的非负数 y

数学表达式
在这里插入图片描述

例如,sqrt(9) 结果为 3。

8. ceil 函数

函数原型

double ceil(double x);

说明
ceil(x) 函数计算大于或等于 x 的最小整数值,即向上取整。

数学表达式
在这里插入图片描述

例如,ceil(2.3) 结果为 3。

9. floor 函数

函数原型

double floor(double x);

说明
floor(x) 函数计算小于或等于 x 的最大整数值,即向下取整。

数学表达式
在这里插入图片描述

例如,floor(2.7) 结果为 2。


总结

在 C++ 编程中,cmath 头文件提供的数学函数是进行各种计算的重要工具。通过使用 sincosexplogfabspowsqrtceilfloor 函数,我们可以处理涉及三角函数、指数函数、对数函数、绝对值、幂运算、平方根和取整的各种数学问题。掌握这些函数的使用及其数学运算过程,可以帮助我们在算法设计、数据处理和科学计算等方面实现高效的解决方案。

这篇关于CSP-J基础之cmath常见函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

C 语言基础之数组

文章目录 什么是数组数组变量的声明多维数组 什么是数组 数组,顾名思义,就是一组数。 假如班上有 30 个同学,让你编程统计每个人的分数,求最高分、最低分、平均分等。如果不知道数组,你只能这样写代码: int ZhangSan_score = 95;int LiSi_score = 90;......int LiuDong_score = 100;int Zhou

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87