保姆级教程
2026-04-19 18:37:57
发布于:浙江
26阅读
0回复
0点赞
版权所有,不可复制,代码如下:
#include <cstdio>
#pragma GCC optimize("Ofast", "unroll-loops", "no-stack-protector", "fast-math")
#pragma GCC target("avx2", "avx512f", "avx512vl", "fma", "bmi2", "popcnt")
#pragma GCC diagnostic ignored "-Wunused-function"
#define sqrt(x) __builtin_sqrt((x))
int main() {
double a, b, c;
scanf("%lf %lf %lf", &a, &b, &c);
// 计算常量
double _a = a * a;
double _b = b * b;
double _c = c * c;
// 1. 海伦公式
double p = (a + b + c) * 0.5;
double r1 = sqrt(p * (p - a) * (p - b) * (p - c));
// 2. 秦九韶公式
double abc = (_a + _b - _c) * 0.5;
double _abc = abc * abc;
double r2 = sqrt(_a * _b - _abc) * 0.5;
// 3. 普通面积公式 + 勾股定理 + 余弦定理
double acb = _a + _c - _b;
double _acb = acb / c * 0.5;
double r3 = c * sqrt(_a - _acb * _acb) * 0.5;
double ans = (r1 + r2 + r3) / 3.0; // 加在一起,取平均,可以保证精度
printf("%.2lf", ans); // 输出
}
}
看完了点个赞吧!!!


这里空空如也






有帮助,赞一个