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 manaAdiberikan 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/4sebagai0.75, tetapi4/3harus1.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