Вы можете определить объем объектов на основе заданного набора измерений:
- Объем сферы может быть определен с помощью одного числа, радиус (
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