Możesz określić objętość obiektów na podstawie danego zestawu wymiarów:
- Objętość kuli można określić za pomocą pojedynczej liczby, promienia (
r
) - Objętość cylindra można określić za pomocą dwóch liczb, promienia (
r
) i wysokości (h
) - Objętość pudełka można określić za pomocą trzech liczb, długości (
l
), szerokości (w
) i wysokości (h
) - Objętość nieregularnej trójkątnej piramidy można określić za pomocą czterech liczb, długości boków (
a, b, c
) i wysokości (h
).
Wyzwanie polega na określeniu objętości obiektu na podstawie jednego z następujących danych wejściowych:
- Pojedyncza liczba
(r)
lub(r, 0, 0, 0)
=>V = 4/3*pi*r^3
- Dwie liczby
(r, h)
lub(r, h, 0, 0)
=>V = pi*r^2*h
- Trzy liczby
(l, w, h)
lub(l, w, h, 0)
=>V = l*w*h
- Cztery liczby
(a, b, c, h)
=>V = (1/3)*A*h
, gdzieA
podana jest formuła Herona :A = 1/4*sqrt((a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c))
Zasady i wyjaśnienia:
- Dane wejściowe mogą być zarówno liczbami całkowitymi, jak i dziesiętnymi
- Możesz założyć, że wszystkie wymiary wejściowe będą dodatnie
- Jeśli Pi jest zakodowana musi być dokładna do:
3.14159
. - Dane wyjściowe muszą mieć co najmniej 6 cyfr znaczących, z wyjątkiem liczb, które można dokładnie przedstawić za pomocą mniejszej liczby cyfr. Możesz wyprowadzać
3/4
jako0.75
, ale4/3
musi być1.33333
(więcej cyfr jest w porządku)- Sposób zaokrąglania niedokładnych wartości jest opcjonalny
- Zachowanie nieprawidłowych danych wejściowych jest niezdefiniowane
- Standardowe reguły we / wy. Dane wejściowe mogą być listą lub osobnymi argumentami
To jest kod golfowy, więc wygrywa najkrótsze rozwiązanie w bajtach.
Przypadki testowe:
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