前言
题目类型
- 判定(Determine)——判断圆和直线是否有交
- 计数(Count)——判断圆与直线交点个数,两圆相交面积
- 列举(Enumerate)——圆与直线交点的坐标
前置知识
浮点数与精度问题
C++语言的三种浮点类型
- float 单精度浮点类型 32bit
- double 双精度浮点类型 64bit
- long double 扩展精度浮点类型
特殊值
- +0.0与-0.0是不一样的
- INDINITY:无穷
- 1.0/0.0==inf
- 1.0/-0.0==-inf
- NAN:非数
- NAN与数作比较时只有不等号才返回TRUE.
常见建议
- 能用整数解决则不用浮点数
- 别用float,视情况用long double
- 减少数学函数的使用
- 比较时加入容限,即eps