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ùAest 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/4tant que0.75, mais4/3doit 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