喜闻乐见的数学题
就是求四面体的体积啦
贴个公式
http://tieba.baidu.com/p/2588543174
记四面体的棱长的平方为
a,b,c,d,e,f
。其中
ad,ce,df
分别为对边。则有
V=112ad(b+c+e+f−a−d)+be(a+c+d+f−b−e)+cf(a+b+d+e−c−f)−abf−bcd−ace−def−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√
还有一个
http://blog.csdn.net/sdust_dc/article/details/9566841
记四面体的棱长的平方为
a,b,c,d,e,f
。其中
ad,ce,df
分别为对边。则有
D=(b+c−d)2
E=(a+c−e)2
F=(a+b−f)2
V=1124abc−aD−bE−cF+DEF−−−−−−−−−−−−−−−−−−−−−−−√
#include <cmath>
#include <cstdio>
#include <iostream>
int main()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
long long a, b, c, d, e, f;
std::cin >> a >> b >> c >> f >> e >> d;
a *= a, b *= b, c *= c, d *= d, e *= e, f *= f;
unsigned long long A = a*d*(b+c+e+f-a-d);
unsigned long long B = b*e*(a+c+d+f-b-e);
unsigned long long C = c*f*(a+b+d+e-c-f);
unsigned long long D = a*b*f+b*c*d+c*a*e+d*e*f;
double ans = sqrt(A + B + C - D) / 12.0;
printf("%.4f\n", ans);
#ifndef ONLINE_JUDGE
fclose(stdin), fclose(stdout);
#endif
return 0;
}