Sie können das Volumen von Objekten basierend auf einer bestimmten Menge von Dimensionen bestimmen:
- Das Volumen einer Kugel kann mit einer einzigen Zahl, dem Radius (
r), bestimmt werden. - Das Volumen eines Zylinders kann mit zwei Zahlen bestimmt werden, dem Radius (
r) und der Höhe (h). - Das Volumen einer Box kann anhand von drei Zahlen bestimmt werden, der Länge (
l), der Breite (w) und der Höhe (h). - Das Volumen einer unregelmäßigen dreieckigen Pyramide kann anhand von vier Zahlen, den Seitenlängen (
a, b, c) und der Höhe (h) bestimmt werden.
Die Herausforderung besteht darin, das Volumen eines Objekts bei einer der folgenden Eingaben zu bestimmen:
- Eine einzelne Zahl
(r)oder(r, 0, 0, 0)=>V = 4/3*pi*r^3 - Zwei Zahlen
(r, h)oder(r, h, 0, 0)=>V = pi*r^2*h - Drei Zahlen
(l, w, h)oder(l, w, h, 0)=>V = l*w*h - Vier Zahlen
(a, b, c, h)=>V = (1/3)*A*h, wobeiAdurch Herons Formel gegeben ist :A = 1/4*sqrt((a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c))
Regeln und Erläuterungen:
- Die Eingabe kann sowohl Ganzzahlen als auch Dezimalzahlen sein
- Sie können davon ausgehen, dass alle Eingabedimensionen positiv sind
- Wenn Pi hart codiert ist , muss es genau bis zu:
3.14159. - Die Ausgabe muss aus mindestens 6 signifikanten Ziffern bestehen, mit Ausnahme von Zahlen, die mit weniger Ziffern genau dargestellt werden können. Sie können ausgeben
3/4als0.75,4/3müssen aber sein1.33333(mehr Ziffern sind OK)- Das Runden von ungenauen Werten ist optional
- Das Verhalten bei ungültiger Eingabe ist undefiniert
- Standardregeln für E / A. Die Eingabe kann eine Liste oder separate Argumente sein
Dies ist Codegolf, daher gewinnt die kürzeste Lösung in Bytes.
Testfälle:
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