B3638

· · 题解

upd 2023/06/28 重写题解。

管理员注:

阅读本文章前,请先阅读 \ \texttt{ShanCreeper} B 题库题解的声明,并了解由于课程需要不展示代码。

如需系统学习相关知识点请报名【洛谷-基础算法计划】

点赞上文章即代表您已阅读并熟知其内容。

C++ 中有一个函数叫做 sqrt,这个函数定义在头文件 cmath 内。sqrt(x)x 的算术平方根。

四舍五入可以使用 round 函数。round 函数同样定义在 cmath 内。round(x)x 四舍五入后的值。

注意,round 函数的返回值不是整数,所以我们使用 static_cast<int> (x) 让他变成整数。

通过这些东西就可以快速的求出 \sqrt{s(s-a)(s-b)(s-c)} 这个表达式的值了。

只需要先求出 s=\frac{a+b+c}{2},然后计算表达式,最后通过 round 函数和 static_cast<int> (x) 求出答案就可以了。

注意:中间的计算结果可以是浮点数。