1 条题解

  • 0
    @ 2025-5-19 20:48:35
    #include<iostream>
    using namespace std;
    #include<math.h>
    int main()
    {
        double a,b,c,p,q,r,P1,P2,P3,V,P;
        while(cin>>a>>b>>c>>r>>q>>p)
        {
            P1=(a*p)*a*p*(-a*a+b*b+c*c-p*p+q*q+r*r);
            P2=(b*q)*b*q*(a*a-b*b+c*c+p*p-q*q+r*r);
            P3=(c*r)*(c*r)*(a*a+b*b-c*c+p*p+q*q-r*r);
            P=(a*b*r)*(a*b*r)+(a*c*q)*(a*c*q)+(b*c*p)*(b*c*p)+(p*q*r)*(p*q*r);
            V=sqrt((P1+P2+P3-P))/12;
            printf("%.4f\n",V);
        }
        return 0;
    }
    

    注意事项

    1. 输入顺序:代码中参数的读取顺序为 ( a, b, c, r, q, p ),需确保输入数据与公式中的参数一一对应。
    2. 数值稳定性:平方根内的表达式必须非负,否则会导致数学错误(如虚数)。代码未对此进行校验,需确保输入数据合法。
    3. 单位与精度:输出结果保留四位小数,适用于需要精确计算的几何问题。
    • 1

    信息

    ID
    1209
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    5
    已通过
    1
    上传者