Вы можете определить объем объектов на основе заданного набора измерений:
- Объем сферы может быть определен с помощью одного числа, радиус (
r
) - Объем цилиндра можно определить с помощью двух чисел, радиуса (
r
) и высоты (h
) - Объем коробки можно определить, используя три числа: длину (
l
), ширину (w
) и высоту (h
) - Объем неправильной треугольной пирамиды можно определить с помощью четырех чисел: длины сторон (
a, b, c
) и высоты (h
).
Задача состоит в том, чтобы определить объем объекта с помощью одного из следующих входных данных:
- Одно число
(r)
или(r, 0, 0, 0)
=>V = 4/3*pi*r^3
- Два числа
(r, h)
или(r, h, 0, 0)
=>V = pi*r^2*h
- Три числа
(l, w, h)
или(l, w, h, 0)
=>V = l*w*h
- Четыре числа
(a, b, c, h)
=>V = (1/3)*A*h
, гдеA
определяется по формуле Герона :A = 1/4*sqrt((a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c))
Правила и разъяснения:
- Входные данные могут быть как целыми, так и / или десятичными
- Вы можете предположить, что все входные размеры будут положительными
- Если Pi закодирован оно должно быть с точностью до:
3.14159
. - Вывод должен содержать не менее 6 значащих цифр, за исключением чисел, которые могут быть точно представлены с меньшим количеством цифр. Вы можете вывести
3/4
как0.75
, но4/3
должно быть1.33333
(больше цифр в порядке)- Как округлять неточные значения необязательно
- Поведение для неверного ввода не определено
- Стандартные правила для ввода / вывода. Ввод может быть списком или отдельными аргументами
Это код гольф, поэтому выигрывает самое короткое решение в байтах.
Тестовые случаи:
calc_vol(4)
ans = 268.082573106329
calc_vol(5.5, 2.23)
ans = 211.923986429533
calc_vol(3.5, 4, 5)
ans = 70
calc_vol(4, 13, 15, 3)
ans = 24