Vous pouvez déterminer le volume d'objets en fonction d'un ensemble de dimensions donné:
- Le volume d'une sphère peut être déterminé à l'aide d'un seul chiffre, le rayon (
r
) - Le volume d'un cylindre peut être déterminé à l'aide de deux nombres, le rayon (
r
) et la hauteur (h
) - Le volume d'une boîte peut être déterminé à l'aide de trois chiffres, la longueur (
l
), la largeur (w
) et la hauteur (h
) - Le volume d'une pyramide triangulaire irrégulière peut être déterminé à l'aide de quatre nombres, les longueurs latérales (
a, b, c
) et la hauteur (h
).
Le défi consiste à déterminer le volume d'un objet en fonction de l'une des entrées suivantes:
- Un seul numéro
(r)
ou(r, 0, 0, 0)
=>V = 4/3*pi*r^3
- Deux chiffres
(r, h)
ou(r, h, 0, 0)
=>V = pi*r^2*h
- Trois chiffres
(l, w, h)
ou(l, w, h, 0)
=>V = l*w*h
- Quatre nombres
(a, b, c, h)
=>V = (1/3)*A*h
, oùA
est donné par la formule de Heron :A = 1/4*sqrt((a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c))
Règles et clarifications:
- L'entrée peut être à la fois des entiers et / ou des décimales
- Vous pouvez supposer que toutes les dimensions d'entrée seront positives
- Si Pi est codé en dur , il doit être précis jusqu'à:
3.14159
. - La sortie doit avoir au moins 6 chiffres significatifs, à l'exception des nombres qui peuvent être représentés avec précision avec moins de chiffres. Vous pouvez sortir en
3/4
tant que0.75
, mais4/3
doit l'être1.33333
(plus de chiffres sont OK)- Comment arrondir des valeurs inexactes est facultatif
- Le comportement pour une entrée non valide n'est pas défini
- Règles standard pour les E / S. L'entrée peut être une liste ou des arguments séparés
C'est le golf de code, donc la solution la plus courte en octets gagne.
Cas de test:
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