亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

三個水桶等分8升水的問題

ShevaKuilin / 3672人閱讀

摘要:三個水桶都沒有刻度,現(xiàn)在需要將大水桶中的升水等分成兩份,每份都是升水,附加條件是只能這三個水桶,不能借助其他輔助容器。假設(shè)將每個狀態(tài)下三個水桶中的水的體積作為。

智力題目

有三個容積分別為3升、5升、8升的水桶,其中容積為8升的水桶中裝滿了水,容積為3升和容積為5升的水桶都是空的。三個水桶都沒有刻度,現(xiàn)在需要將大水桶中的8升水等分成兩份,每份都是4升水,附加條件是只能這三個水桶,不能借助其他輔助容器。

“恩,是的,這是一個很經(jīng)典的問題?!?/p>

“然而,我們并不能想全,不信請繼續(xù)往下看。”

答案

”廢話不多說,直接看方法吧?!?/p> 第一種(7步)

將8L的水桶中的水,倒?jié)M5L的水桶,這時:8L水桶為3L、5L水桶為5L、3L水桶為0L

將5L的水桶中的水,倒?jié)M3L的水桶,這時: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的水桶中的水,倒?jié)M3L的水桶,這時:8L水桶為1L、5L水桶為4L、3L水桶為3L

將3L的水桶中的水,倒入8L的水桶,這時:8L水桶為4L、5L水桶為4L、3L水桶為0L

第二種(8步)

將8L的水桶中的水,倒?jié)M3L的水桶,這時:8L水桶為5L、5L水桶為0L、3L水桶為3L

將3L的水桶中的水,倒入5L的水桶,這時:8L水桶為5L、5L水桶為3L、3L水桶為0L

將8L的水桶中的水,倒?jié)M3L的水桶,這時:8L水桶為2L、5L水桶為3L、3L水桶為3L

將3L的水桶中的水,倒?jié)M5L的水桶,這時:8L水桶為2L、5L水桶為5L、3L水桶為1L

將5L的水桶中的水,倒入8L的水桶,這時:8L水桶為7L、5L水桶為0L、3L水桶為1L

將3L的水桶中的水,倒入5L的水桶,這時:8L水桶為7L、5L水桶為1L、3L水桶為0L

將8L的水桶中的水,倒?jié)M3L的水桶,這時:8L水桶為4L、5L水桶為1L、3L水桶為3L

將3L的水桶中的水,倒入5L的水桶,這時:8L水桶為4L、5L水桶為4L、3L水桶為0L

我相信答案肯定不止兩個,到底有多少種答案?

帶著這個疑問,我們來設(shè)計一個算法吧。

問題分析 人的思維

解決這個問題的關(guān)鍵是怎么通過倒水湊出確定的1升水或能容納1升水的空間。

例如,當(dāng)8L水桶或5L水桶或3L水桶有1L水時,都能快速倒出4L水。

計算機(jī)思維

“窮舉法”

水桶初始狀態(tài):8L水桶裝滿水,3L和5L的水桶為空。
水桶最終狀態(tài):3L水桶為空,5L和8L的水桶各4L水。

假設(shè)將每個狀態(tài)下三個水桶中的水的體積作為status。

從 $status = array(8,0,0) 得到 $status = array(4,4,0)。

當(dāng)然還會有一些限制:

1.各個水桶的都有最大值:

0 <= status[0] <= 8;

0 <= status[1] <= 5;

0 <= status[2] <= 3;

2.當(dāng)前倒水之后各個水桶的狀態(tài),與歷史倒水之后各個水桶的狀態(tài),不能相同。

3.當(dāng)前水桶為空時,不能倒給其他水桶。

4.當(dāng)前水桶為最大容積時,其他水桶不能再向這個水桶倒水。

程序代碼(PHP)

運行結(jié)果

一共有 16 種倒水方法,方法如下:

...

(16種方法,貼上去太長了,大家在本地嘗試下,如需要源碼,請關(guān)注公眾號進(jìn)行留言。)

小結(jié)

運行代碼之后,一共找到了 16 種倒水的方法,最快的方法需要 7 個步驟。

“怎么樣,是不是沒想到會有這么多方法吧,去考考你身邊的小伙伴吧?!?/p>

本文歡迎轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)請注明作者和出處,謝謝!

推薦閱讀

系統(tǒng)的講解 - SSO 單點登錄

系統(tǒng)的講解 - PHP WEB 安全防御

系統(tǒng)的講解 - PHP 緩存技術(shù)

系統(tǒng)的講解 - PHP 接口簽名驗證

系統(tǒng)的講解 - PHP 浮點數(shù)高精度運算

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/31472.html

相關(guān)文章

  • 水桶等分8升水(javascript實現(xiàn))

    摘要:問題描述有三個容器分別是三升五升和八升的水桶,其中容積為八升的水桶裝滿了水,其余兩桶為空。水桶沒有刻度,除這三個桶外不能使用其它容器,將升水等分為兩份升的水。 此為《算法的樂趣》讀書筆記,我用javascript重新實現(xiàn)算法。 問題描述 有三個容器分別是三升、五升和八升的水桶,其中容積為八升的水桶裝滿了水,其余兩桶為空。水桶沒有刻度,除這三個桶外不能使用其它容器,將8升水等分為兩份4升...

    Xufc 評論0 收藏0
  • 不可不說Java“鎖”事

    摘要:本文旨在對鎖相關(guān)源碼本文中的源碼來自使用場景進(jìn)行舉例,為讀者介紹主流鎖的知識點,以及不同的鎖的適用場景。中,關(guān)鍵字和的實現(xiàn)類都是悲觀鎖。自適應(yīng)意味著自旋的時間次數(shù)不再固定,而是由前一次在同一個鎖上的自旋時間及鎖的擁有者的狀態(tài)來決定。 前言 Java提供了種類豐富的鎖,每種鎖因其特性的不同,在適當(dāng)?shù)膱鼍跋履軌蛘宫F(xiàn)出非常高的效率。本文旨在對鎖相關(guān)源碼(本文中的源碼來自JDK 8)、使用場景...

    galaxy_robot 評論0 收藏0
  • Kubernetes Autoscaling是如何工作

    摘要:是如何工作的這是最近我們經(jīng)常被問到的一個問題。是一個控制循環(huán),用于監(jiān)視和縮放部署中的。最早版本僅支持作為可監(jiān)控的度量標(biāo)準(zhǔn)。是版本以上的首選方法。 Kubernetes Autoscaling是如何工作的?這是最近我們經(jīng)常被問到的一個問題。 所以本文將從Kubernetes Autoscaling功能的工作原理以及縮放集群時可以提供的優(yōu)勢等方面進(jìn)行解釋。 什么是Autoscaling 想...

    zhunjiee 評論0 收藏0
  • 一些理論應(yīng)用到職場中,會給職場人士帶來很深刻啟迪。據(jù)說這十大經(jīng)典職場理論能讓我們終身受用不盡。

    摘要:彼得原理每個組織都是由各種不同的職位等級或階層的排列所組成,每個人都隸屬于其中的某個等級。對一個組織而言,一旦相當(dāng)部分人員被推到其不稱職的級別,就會造成組織的人浮于事,效率低下,導(dǎo)致平庸者出人頭地,發(fā)展停滯。   1、蘑菇管理   蘑菇管理是許多組織對待初出茅廬者的一種管理方法,初學(xué)者被置于陰暗的角落(不受重視的部門,或打雜跑腿的工作),澆上一頭大糞(無端的批評、指責(zé)、代人受過),任其...

    BingqiChen 評論0 收藏0
  • 8分鐘視頻看懂限流算法

    摘要:視頻介紹限流算法,分析漏桶算法和令牌算法的應(yīng)用場景,算法原理和算法實現(xiàn)方法視頻在這里分鐘看懂限流算法你好,我是好剛,這一講我們來了解限流算法。這里限流的常用算法有漏桶算法和令牌桶算法。所以令牌桶算法的特點是允許突發(fā)流量。 視頻介紹限流算法,分析漏桶算法和令牌算法的應(yīng)用場景,算法原理和算法實現(xiàn)方法 【視頻在這里】 8分鐘看懂限流算法 你好,我是好剛,這一講我們來了解限流算法 (Rate ...

    MAX_zuo 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<