zoukankan      html  css  js  c++  java
  • 已知六条边的边长,求四面体体积

    Problem Description
    杭州电子科技大学即将迎来50周年的校庆,作为校庆委员会成员的我被上级要求设计一座神秘的建筑物来迎合校庆,因此我苦思冥想了一个月,终于设计出了一套方案,这座建筑物有点象古老埃及的金字塔,不过这个神秘建筑的根基是三角形的而不是矩形的,从数学的专业角度来讲,它是四面体。当我打算上交我的设计图纸的时候发现,我不知道怎么计算这个神秘建筑的体积(我知道这座建筑的各边的尺寸),于是我找来了聪明的你来帮助我解决这个难题。
     
    Input
    输入文件包含6个不超过1000的实数,每个数之间用空格隔开。每个数代表金字塔ABCD的一条棱边长度,棱边排序如下:AB,AC,AD,BC,BD,CD。
     
    Output
    输出数据应是一个实数,表示金字塔的体积,精确到4位小数。
     
    Sample Input
    2 2 2 2 2 2
     
    Sample Output
    0.9428
     
    公式: 欧拉四面体公式,用来求三棱椎的体积。 V=sqrt((4*a*a*b*b*c*c-a*a*(b*b+c*c-m*m)*(b*b+c*c-m*m)-b*b*(c*c+a*a-n*n)*(c*c+a*a-n*n)-c*c*(a*a+b*b-l*l)*(a*a+b*b-l*l)+(a*a+b*b-l*l)*(b*b+c*c-m*m)*(c*c+a*a-n*n)))/12;

     1 #include <stdio.h>
     2 #include <math.h>
     3 
     4 int main(){
     5     double a;
     6     double b;
     7     double c;
     8     double m;
     9     double n;
    10     double l;
    11     double V; 
    12     
    13     while(scanf("%lf%lf%lf%lf%lf%lf",&a,&c,&b,&n,&l,&m)!=EOF){
    14         V=(double)sqrt((4.0*a*a*b*b*c*c-a*a*(b*b+c*c-m*m)*(b*b+c*c-m*m)-b*b*(c*c+a*a-n*n)*(c*c+a*a-n*n)-c*c*(a*a+b*b-l*l)*(a*a+b*b-l*l)+(a*a+b*b-l*l)*(b*b+c*c-m*m)*(c*c+a*a-n*n)))/12.0;
    15         
    16         printf("%.4lf
    ",V);
    17     }
    18     
    19     
    20     return 0;
    21 }
     
     
  • 相关阅读:
    Webform服务器控件调用JS
    Webfrom基础知识
    Webform用户控件
    数组练习
    整理
    SVN分支与合并
    根据经纬度,获取两点间的距离
    简单Bat文件编写
    Maven Android使用一
    Maven环境配置
  • 原文地址:https://www.cnblogs.com/zqxLonely/p/4085748.html
Copyright © 2011-2022 走看看