Bạn có thể xác định khối lượng của các đối tượng dựa trên một nhóm kích thước nhất định:
- Thể tích của một hình cầu có thể được xác định bằng một số duy nhất, bán kính (
r
) - Thể tích của hình trụ có thể được xác định bằng hai số, bán kính (
r
) và chiều cao (h
) - Thể tích của một hộp có thể được xác định bằng ba số, chiều dài (
l
), chiều rộng (w
) và chiều cao (h
) - Thể tích của một hình chóp tam giác không đều có thể được xác định bằng bốn số, độ dài cạnh (
a, b, c
) và chiều cao (h
).
Thách thức là xác định khối lượng của một đối tượng được cung cấp một trong các đầu vào sau:
- Một số duy nhất
(r)
hoặc(r, 0, 0, 0)
=>V = 4/3*pi*r^3
- Hai số
(r, h)
hoặc(r, h, 0, 0)
=>V = pi*r^2*h
- Ba số
(l, w, h)
hoặc(l, w, h, 0)
=>V = l*w*h
- Bốn số
(a, b, c, h)
=>V = (1/3)*A*h
,A
được đưa ra theo công thức của Heron :A = 1/4*sqrt((a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c))
Các quy tắc và làm rõ:
- Đầu vào có thể là cả số nguyên và / hoặc số thập phân
- Bạn có thể cho rằng tất cả các kích thước đầu vào sẽ là dương
- Nếu Pi được mã hóa cứng, nó phải chính xác tới:
3.14159
. - Đầu ra phải có ít nhất 6 chữ số có nghĩa, ngoại trừ các số có thể được biểu diễn chính xác với ít chữ số hơn. Bạn có thể xuất
3/4
dưới dạng0.75
, nhưng4/3
phải1.33333
(nhiều chữ số hơn là OK)- Cách làm tròn các giá trị không chính xác là tùy chọn
- Hành vi cho đầu vào không hợp lệ là không xác định
- Quy tắc chuẩn cho I / O. Đầu vào có thể là danh sách hoặc các đối số riêng biệt
Đây là mã golf, vì vậy giải pháp ngắn nhất trong byte thắng.
Các trường hợp thử nghiệm:
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