求四面体体积有3个经典公式,与棱长有关的有2个,见论文。《四面体求积的一个公式》 《再谈四面体的六棱求体积公式》
  Submit 1: AC。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <cstdio>
#include <cmath>
using namespace std;
 
//求四面体的体积,a b c为三条棱,a1 b1 c1分别为a b c的对棱
double volume(double a,double b,double c,double a1,double b1,double c1)
{
    double m=b*b+c*c-a1*a1,n=a*a+c*c-b1*b1,p=a*a+b*b-c1*c1;
    return sqrt(a*a*b*b*c*c-(a*a*m*m+b*b*n*n+c*c*p*p)/4+m*n*p/4)/6;
}
 
int main()
{
    double a,b,c,d,e,f;
    scanf("%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&e,&f);
    printf("%.4f\n",volume(a,b,c,f,e,d));
    return 0;
}