- lishilin 的博客
3月20日笔记
- @ 2025-3-20 17:54:02
数据类型补充
#include <iostream>
using namespace std;
int main() {
cout << 1.0 / 0.0 << endl;
cout << 0.0 / 0.0 << endl;
}
输出结果
inf
nan
IEEE 754 浮点数标准有如下规定:
-
当一个非零的有限数除以零时:若除数为正数,结果为正无穷,若除数为负数,结果为负无穷
- $\displaystyle \lim_{x \to 0^+} \frac{1}{x} = +\infty \quad \text{(正无穷)}$
- $\displaystyle \lim_{x \to 0^-} \frac{1}{x} = -\infty \quad \text{(负无穷)}$
-
属于未定义行为,规定结果为 NaN,确保数值运算的稳定性
数学
对于整数 和非零整数 ,根据欧几里得除法定理,我们可以写成:
其中:
- 是商的整数部分,
- 余数 满足 。
那么余数可以用以下式子表达
例题 - 浮点数取余
直接使用 % 符号无法进行,采用如上表达式来进行求解。
预处理
有些题目数据并不是读入即可使用,而是需要进行如排序之类的预处理操作,使得数据呈现有序。
例题 - 判断三角形
本题需要根据三边关系判断三角形的形状,但是三条边是随机给出的。
预先处理三条边的大小关系,可以拿到两条短边和第三条长边,之后只需要根据勾股定理依次判断是否是锐角、直角、钝角即可。
如果不这么处理,分支语句要写很长,代码量很大。