网站建设维护是做什么会计科目,网页界面图,芜湖的网站建设,旅游网站建设要求目录 智力题目答案问题分析程序代码#xff08;PHP#xff09;运行结果小结推荐阅读智力题目 有三个容积分别为3升、5升、8升的水桶#xff0c;其中容积为8升的水桶中装满了水#xff0c;容积为3升和容积为5升的水桶都是空的。三个水桶都没有刻度#xff0c;现在需要将大水… 目录 智力题目答案问题分析程序代码PHP运行结果小结推荐阅读 智力题目 有三个容积分别为3升、5升、8升的水桶其中容积为8升的水桶中装满了水容积为3升和容积为5升的水桶都是空的。三个水桶都没有刻度现在需要将大水桶中的8升水等分成两份每份都是4升水附加条件是只能这三个水桶不能借助其他辅助容器。 “恩是的这是一个很经典的问题。” “然而我们并不能想全不信请继续往下看。” 答案 ”废话不多说直接看方法吧。“ 第一种7步 将8L的水桶中的水倒满5L的水桶这时8L水桶为3L、5L水桶为5L、3L水桶为0L将5L的水桶中的水倒满3L的水桶这时8L水桶为3L、5L水桶为2L、3L水桶为3L将3L的水桶中的水倒入8L的水桶这时8L水桶为6L、5L水桶为2L、3L水桶为0L将5L的水桶中的水倒入3L的水桶这时8L水桶为6L、5L水桶为0L、3L水桶为2L将8L的水桶中的水倒入5L的水桶这时8L水桶为1L、5L水桶为5L、3L水桶为2L将5L的水桶中的水倒满3L的水桶这时8L水桶为1L、5L水桶为4L、3L水桶为3L将3L的水桶中的水倒入8L的水桶这时8L水桶为4L、5L水桶为4L、3L水桶为0L第二种8步 将8L的水桶中的水倒满3L的水桶这时8L水桶为5L、5L水桶为0L、3L水桶为3L将3L的水桶中的水倒入5L的水桶这时8L水桶为5L、5L水桶为3L、3L水桶为0L将8L的水桶中的水倒满3L的水桶这时8L水桶为2L、5L水桶为3L、3L水桶为3L将3L的水桶中的水倒满5L的水桶这时8L水桶为2L、5L水桶为5L、3L水桶为1L将5L的水桶中的水倒入8L的水桶这时8L水桶为7L、5L水桶为0L、3L水桶为1L将3L的水桶中的水倒入5L的水桶这时8L水桶为7L、5L水桶为1L、3L水桶为0L将8L的水桶中的水倒满3L的水桶这时8L水桶为4L、5L水桶为1L、3L水桶为3L将3L的水桶中的水倒入5L的水桶这时8L水桶为4L、5L水桶为4L、3L水桶为0L我相信答案肯定不止两个到底有多少种答案 带着这个疑问我们来设计一个算法吧。 问题分析 人的思维 解决这个问题的关键是怎么通过倒水凑出确定的1升水或能容纳1升水的空间。 例如当8L水桶或5L水桶或3L水桶有1L水时都能快速倒出4L水。 计算机思维 “穷举法” 水桶初始状态8L水桶装满水3L和5L的水桶为空。 水桶最终状态3L水桶为空5L和8L的水桶各4L水。 假设将每个状态下三个水桶中的水的体积作为status。 从 $status array(8,0,0) 得到 $status array(4,4,0)。 当然还会有一些限制 1.各个水桶的都有最大值 0 status[0] 8; 0 status[1] 5; 0 status[2] 3; 2.当前倒水之后各个水桶的状态与历史倒水之后各个水桶的状态不能相同。 3.当前水桶为空时不能倒给其他水桶。 4.当前水桶为最大容积时其他水桶不能再向这个水桶倒水。 程序代码PHP 运行结果 一共有 16 种倒水方法方法如下 ... 16种方法贴上去太长了大家在本地尝试下如需要源码请关注公众号进行留言。 小结 运行代码之后一共找到了 16 种倒水的方法最快的方法需要 7 个步骤。 “怎么样是不是没想到会有这么多方法吧去考考你身边的小伙伴吧。” 推荐阅读 系统的讲解 - PHP 接口签名验证系统的讲解 - PHP 缓存技术系统的讲解 - SSO 单点登录系统的讲解 - PHP WEB 安全防御系统的讲解 - PHP 浮点数高精度运算本文欢迎转发转发请注明作者和出处谢谢转载于:https://www.cnblogs.com/xinliangcoder/p/10827694.html