众所周知一个木桶能够装多少水取决于其短板。譬如围成木桶的各个木板长度记录在一数值当中。如果已知木桶的底面积是 s
则可以得出圆柱体木桶最大的盛水量可以使用以下函数计算:
fn buckets_effect(s: f32, planks: &[f32]) -> f32 {
let mut min_plank = planks[0];
for i in planks {
if min_plank > *i {
min_plank = *i;
}
}
\\ 此处没有考虑结果溢出的情况
s * min_plank
}
现在假如桶底也需要用给出的木板拼接而成,您能求出木桶最大的盛水量吗?
要求
- 木板的宽度为
x
; - 木板不能被锯开或纵向拼接来组成新木板;
- 只能组成圆柱体的水桶;圆台、圆锥或其他形状的水桶是被禁止的;
- 木板集合的类型使用切片或动态数组都是可以的,不过禁止使用定长数组;
- 木板的长度、宽度和最终结果均用
f32
类型表示,无需考虑结果溢出的情况。
1
共 0 条评论, 1 页
评论区
写评论还没有评论