Anda dapat menentukan volume objek berdasarkan kumpulan dimensi yang diberikan:
- Volume bola dapat ditentukan menggunakan angka tunggal, jari-jari (
r
) - Volume silinder dapat ditentukan dengan menggunakan dua angka, jari-jari (
r
) dan tinggi (h
) - Volume kotak dapat ditentukan menggunakan tiga angka, panjang (
l
), lebar (w
) dan tinggi (h
) - Volume piramida segitiga tidak teratur dapat ditentukan dengan menggunakan empat angka, panjang sisi (
a, b, c
) dan tinggi (h
).
Tantangannya adalah untuk menentukan volume objek yang diberikan salah satu dari input berikut:
- Satu angka
(r)
atau(r, 0, 0, 0)
=>V = 4/3*pi*r^3
- Dua angka
(r, h)
atau(r, h, 0, 0)
=>V = pi*r^2*h
- Tiga angka
(l, w, h)
atau(l, w, h, 0)
=>V = l*w*h
- Empat angka
(a, b, c, h)
=>V = (1/3)*A*h
, di manaA
diberikan oleh rumus Bangau :A = 1/4*sqrt((a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c))
Aturan dan klarifikasi:
- Input dapat berupa bilangan bulat dan / atau desimal
- Anda dapat mengasumsikan semua dimensi input akan positif
- Jika Pi sulit dikodekan itu harus akurat hingga:
3.14159
. - Output harus memiliki setidaknya 6 digit signifikan, kecuali untuk angka yang dapat diwakili secara akurat dengan digit lebih sedikit. Anda dapat menampilkan
3/4
sebagai0.75
, tetapi4/3
harus1.33333
(lebih banyak digit OK)- Cara membulatkan nilai yang tidak akurat adalah opsional
- Perilaku untuk input yang tidak valid tidak ditentukan
- Aturan standar untuk I / O. Input dapat berupa daftar atau argumen terpisah
Ini adalah kode golf, jadi solusi terpendek dalam byte menang.
Kasus uji:
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