Решение задачи Пирамиды с Меньшиков

Без пояснения   Просмотров: 36


Рассматриваемые пирамиды имеют треугольник в основании, то есть являются тетраэдрами. Требуется по заданным длинам рёбер пирамиды найти её объём.

Ограничения: длины рёбер - целые положительные числа, не превосходящие 1000.

Код

#include <iostream>
#include <cstdio>
#include <cmath>
 
using namespace std;
 
double AB,AC,AD,BC,BD,CD;
void input()
{
    cin>>AB>>AC>>AD>>BC>>BD>>CD;
}
void solve()
{
    double Xb = AB;
    double Xc = (AC*AC - BC*BC + AB*AB) / (2*AB);
    double Yc = sqrt(AC*AC - Xc*Xc);
 
    double Xd = (AD*AD + AB*AB - BD*BD) / (2*AB);
    double Yd = (AD*AD - CD*CD - 2*Xc*Xd + Xc*Xc + Yc*Yc) / (2*Yc);
    double Zd = sqrt(AD*AD - Xd*Xd - Yd*Yd);
 
    double S = Xb*Yc*Zd / 6.0;
    printf("%0.4f",S);
   
}
int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
 
    input();
    solve();
    return 0;
}

         

Администратор Photo Автор: Администратор




Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться