在50公斤哪个水桶最先装满中装满水要45秒,请问有多少方水

一个水桶中装满水,水桶底面面积为8,高为10,把水倒入边长为8的正方体中,求水面高度_百度知道
一个水桶中装满水,水桶底面面积为8,高为10,把水倒入边长为8的正方体中,求水面高度
我有更好的答案
8 x 8 x h = 8 x 10==& h = (8 x 10)/(8 x 8) = 10/8 = 1.25
底面积×高即为水的体积,再用水的体积÷正方体的底面积,就是所要求的正方体容器中水的高度。解题过程是:8×10÷(8×8)=1.25
8x10÷8²=1.25
为您推荐:
其他类似问题
正方体的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。三个水桶等分8升水问题python实现--穷举、简单状态转移与递归 - 简书
三个水桶等分8升水问题python实现--穷举、简单状态转移与递归
最近在看算法的乐趣,其中有个很简单的三个水桶等分8升水的问题。
题目:有三个容积分别是3升、5升、8升的水桶,其中容积为8升的水桶中装满了水,容积为3升和5升的水桶中是空的。三个水桶都没有体积刻度,现在需要将水桶中的8升水等分成两份,每份都是4升水,附加条件是只能使用另外两个空桶,不能借用其他辅助容器。
题目是个经典的简单问题,书中说人脑算很简单,通过倒水凑出1升水空间就行。但是用计算机求解的话就要利用经典的状态转移和穷举搜索算法。
把三个水桶中的水量作为一个状态,经过一个合法动作后得到下一个状态(合法动作是把A桶中的水全部倒入B桶 或者 把A桶中的水部分倒入B桶使B桶充满水),递归搜索所有的可能状态,如果到达最终状态则递归停止。
引用自http://blog.csdn.net/orbit/article/details/6596521
题目的关键:
由当前状态得到所有可能的合法动作
由合法动作得到下一个状态
建立一个状态队列来实现状态记录以及检查新状态是否在队列中已经出现,避免形成死循环
递归搜索,在达到final状态时终止
书里只给出了C++的实现,在这里用python实现试试
主要使用的python知识点:
例如deque.append()#右端插入
deque.pop()#右端删除
例如[x*x for x in range(10) if x % 3 == 0]得出10以内能被3整除的数的平方构成的列表
yield生成器
例如经典的斐波那契数列的生成
def fib(max):
a, b = 1, 1
while a & max:
yield a #generators return an iterator that returns a stream of values.
a, b = b, a+b
for n in fib(15):
踩过的坑:
python的引用机制,即浅复制机制,a=b并没有创建一个新的对象而是建立了对于b对象的一个引用,对于a的修改同样会改变b。犯过错误的地方在代码中有说明。可以使用new_list = list(old_list)和new_deque = deque(old_deque)来生成新的对象,实现深复制。或者使用copy也行。
在同级的循环中,即所有下一个状态的同级遍历中,进入的时候对队列末尾添加了新状态,退出的时候一定不要忘记删除该新状态。虽然很简单的逻辑,但是第一次实现时确实忽略了,汗。
initial_bucket_state = [0,0,8]
#水桶的初始状态
bucket_volume = [3,5,8]
#每个水桶的对应的容积
from collections import deque
record = deque()
record.append(initial_bucket_state)
#利用python的deque队列记录状态转移情况,初始化时加入水桶初始状态。deque是可以从头尾插入和删除的队列,在不指定大小时,为一个无边界的队列
def nextStateLawful(current_state, bucket_volume):
next_action = [
(from_, to_)
for from_ in range(3) for to_ in range(3)
if from_ != to_
and current_state[from_] & 0
and current_state[to_] & bucket_volume[to_]
#通过列表推导式获得下一动作的二元组构成的列表,由(倒出水的容器编号,倒入水的容器编号)组成。
#二重循环得到下一步的所有可能动作,然后通过
##1.倒入倒出不能为同一个2.倒出的捅中必须有水3.倒入的桶中不能为满 的条件判断是否合法
for from_, to_ in next_action:
#next_state = current_state #浅复制造成错误
next_state = list(current_state)
if current_state[from_] + current_state[to_] & bucket_volume[to_]:
next_state[from_] -= (bucket_volume[to_] - current_state[to_])
next_state[to_] = bucket_volume[to_]
next_state[from_] = 0
next_state[to_] = current_state[to_] + current_state[from_]
yield next_state
#再由所有可能的合法动作得出所有的下一个状态,通过yield产生供其它函数调用。
record_list = []
#记录调试的变量:num表示总共实现方法数,record_list记录所有实现路径
def searchResult(record, bucket_volume=[3,5,8], final_bucket_state=[0,4,4]):
global num,record_list
current_state = record[-1]
#由record的末尾元素得到当前水桶状态
next_state = nextStateLawful(current_state, bucket_volume)
#得到关于当前状态的下一状态的可迭代生成器,供下一步循环使用
for state in next_state:
#遍历所有可能的下一状态
if state not in record:
#保证当前状态没在以前出现过。如果状态已经出现还进行搜索就会形成状态环路,陷入死循环。
record.append(state)
#添加新的状态到列表中
if state == final_bucket_state:
print(record)
#打印出可行方案
#record_list.append(record)这样使用错误,导致加入列表的是record的引用,应该使用下面的式子来进行深复制,得到一个新的队列再加入列表。
record_list.append(deque(record))
searchResult(record, bucket_volume, final_bucket_state)
#不是最终状态则递归搜索
record.pop()
#去除当前循环中添加的状态,进入下一个循环,关键步,第一次实现的时候遗漏了
if __name__=='__main__':
searchResult(record)
print(num)
#打印所有方案的数量
print(min([len(i) for i in record_list]))
#打印最短路径方案中的状态总数
题外话: 算法的乐趣是个好书,看个序就感觉大牛的气息扑面而来。推荐
1. 在表面粗糙度的评定参数中,微观不平度+点高度符号是(D)。 A、Rg B、Ra C、Rx D、Rz 2. 国标规定螺纹的牙底用(B)。 A、粗实线 B、细实线 C、虚线 D、点划线 3. 对于加工精度要求(C)的沟槽尺寸,要用内径千分尺来测量。 A、一般 B、较低 C...
高级钳工培训试题及答案 一、填空题。 1、液压泵的主要性能参数有流量、容积效率、压力、功率、机械效率、总效率。 2、液压泵的种类很多,常见的有齿轮泵、叶片泵、柱塞泵、螺杆泵。 3、液压控制阀可分为方向...
[TOC] Class I. Words Expressing Abstract Relations Section I. Existence 1. Being, in The Abstract existence 1 absolute
a.绝对的,完全的; 无(条件...
第一单元 A1型选择题(1~83题) 1.下列人员中一定不能予以医师执业注册的是 A.受行政处罚,自处罚执行完毕之日起至申请注册之日止不满2年的 B.受过刑事处罚的 C.不具有完全民事行为能力的 D.受过吊销医师执业证书行政处罚的 E.受吊销医师执业证书行政处罚,自处罚决定...
第一单元A1型选择题(1~83题)1.医疗机构发现突发公共卫生事件后,应当向当地卫生行政部门报告的时间要求为A.1小时内B.2小时内C.6小时内D.4小时内E.8小时内2.未经批准擅自开列医疗机构行医的人员承担的法律责任中不包括A.警告B.没收其违法所得及其药品器械,并处1...
小樱和蜗牛又悄悄地约会了。 自上次画家被骑行小队约去松江一日游,小樱与蜗牛只好两人同行去浦图看书。兴之所至,骑车去了世纪公园、科技馆,在浦东新区区政府门前的丁香路上,被厚厚的落叶所吸引,在那一顿狂拍。抬头看见了东方艺术中心的玉兰花瓣,不由自主便移步艺术宫殿,神使鬼差地买下了...
最近,时常会在夜里醒来,再难入睡。在寂静的黑暗中,不眠并不是一件值得庆幸的事,我曾以为,我可以像往常那样,在台灯下看几页书,或者听听音乐,便可以安然入睡。然而,不能。常常是醒来后,异常地清醒,一种清晰而尖锐的焦虑由心底升腾,转眼便弥漫开来,层层叠叠,渐至渗透整个身心。睡...
手机存了很多照片,去了一些地方,做了一些有意义没意义的事情。重要的是做自己喜欢的事,少一些妥协。
今日晨练项目-青蛙倒挂。借助艾扬格壁绳上墙倒挂,瞬间头部充血,眼睛也是感觉很受压迫,可能是第一次操作,都属于正常反应。不过倒立对身体很好,以后要常练习。 上午青云老师要求我们每个人带读瑜伽经,每人一段。我发现自己在读的时候语速有点快,对段落不熟悉以至于会有读错的时候。摸索了...
1. Sketch 标注插件 Measure 推出 2.2 版本,有着新功能 Toolbar,效率更进一步,点击查看官网介绍和下载。(官网介绍中的 New UI 其实在 2.0 里就是这样了吧…) 2. 著名科技主题伦理剧《黑镜 (Black Mirror)》第三季开播,6...扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
一个圆柱形水桶,里面盛50升水正好盛满,把一个正方体铁块放入桶中,要流出30升水,这个正方体的体积是?
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
30升=30立方分米正方体的体积就等于流出水的体积
为您推荐:
其他类似问题
扫描下载二维码桶装水有多少升
桶装水有多少升
(C)2017 列表网&琼ICP备号-12&增值电信业务经营许可证B2-&}

我要回帖

更多关于 我的世界水桶怎么装水 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信