在NOI竞赛中,熟练运用数学库函数不仅能节省编码时间,更能提升程序精度与可读性。2025年新修订大纲对数学库函数的使用有哪些规范?哪些函数需要谨慎调用?本文将逐一拆解。
猜你喜欢:各省市2026年NOI省队名单汇总
福利资料:为协助信息学竞赛生高效备考,特整理《2014-2025年信息学竞赛试题及答案》pdf资料
2026年NOI大纲解读五,C++ 数学库常用函数详解
一、 知识点概览:考什么?
根据《全国青少年信息学奥林匹克系列竞赛大纲(2025年修订版)》,2.1.2 C++ 程序设计的第五部分是数学库常用函数。这些函数封装在 (或 )头文件中,是处理复杂数学运算的利器。
核心大纲点拨(难度等级【3】):绝对值函数:abs()(整数)、fabs()(浮点数)。
取整函数:下取整floor()、上取整ceil()、四舍五入round()。
幂次与开方:平方根sqrt()、指数函数exp()、幂函数pow(a, b)。
对数函数:常用对数 log10()、自然对数 log()。
三角函数:sin()、cos()、tan() 等。
二、 常见考点与易错点分析
在信息学竞赛中,数学函数的使用往往伴随着精度控制和类型转换:
1. 头文件遗漏
使用上述所有函数前,必须包含 #include 。
2. 浮点数精度误差
考点:大部分数学函数(如 sqrt, pow, sin)的参数和返回值均为 double 型。
易错点:由于浮点数存在精度误差,在判断 sqrt(4) 是否等于 2 时,不建议直接使用 ==,而应判断其差值是否小于一个极小量(如 1e-9)。
3. 取整函数的区别
floor(2.9) 结果为 2.0(向下取至最近整数)。
ceil(2.1) 结果为 3.0(向上取至最近整数)。
round(2.5) 结果为 3.0(四舍五入)。
4. 角度与弧度
陷阱:C++ 中的三角函数(sin, cos)接收的参数是弧度而非角度。换算公式为:弧度 = 角度 * PI / 180。
三、 C++ 示例代码:数学库应用演示

四、 典型真题解析
例题 1:取整函数辨析(模拟初赛真题)

【解答】
floor(-2.1):向下取整,即寻找不大于 -2.1 的最大整数,结果为 -3.0。
ceil(2.1):向上取整,即寻找不小于 2.1 的最小整数,结果为 3.0。
-3.0 + 3.0 = 0。答案:A
例题 2:几何计算基础(源自 GitHub 历年真题库)
【解答】根据勾股定理
。在 C++ 中,sqrt() 用于开平方,a*a 或 pow(a, 2) 表示平方。A 选项完全符合数学逻辑。答案:A
五、 结构化梳理:知识思维导图

数学库函数是编程中的“特种工具”。在处理坐标几何、组合数学或动态规划时,熟练调用这些函数能极大减少手写逻辑的错误率。 需要特别提醒的是,NOI 竞赛中编程语言只能使用 C++,因此掌握 <cmath> 是每一位选手的必修课
推荐阅读:




























