特定の次元セットに基づいてオブジェクトの体積を決定できます。
- 球体の体積は、半径(
r
)という1つの数値を使用して決定できます。 - 円柱の体積は、半径(
r
)と高さ(h
)の2つの数値を使用して決定できます。 - ボックスの容積は、長さ(
l
)、幅(w
)、高さ(h
)の3つの数値を使用して決定できます。 - 不規則な三角ピラミッドの体積は、辺の長さ(
a, b, c
)と高さ(h
)の4つの数値を使用して決定できます。
課題は、次の入力のいずれかを与えられたオブジェクトのボリュームを決定することです。
- 単一の番号
(r)
または(r, 0, 0, 0)
=>V = 4/3*pi*r^3
- 2つの数字
(r, h)
または(r, h, 0, 0)
=>V = pi*r^2*h
- 3つの数字
(l, w, h)
または(l, w, h, 0)
=>V = l*w*h
- 4つの数字
(a, b, c, h)
=>V = (1/3)*A*h
、ここでHeronの式で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
(より多くの数字はOK)- 不正確な値を丸める方法はオプションです
- 無効な入力の動作は未定義です
- I / Oの標準ルール。入力は、リストまたは個別の引数にすることができます
これはコードゴルフであるため、バイト単位の最短ソリューションが勝ちます。
テストケース:
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