国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

ShevaKuilin / 3602人閱讀

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

智力題目

有三個容積分別為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 個步驟。

“怎么樣,是不是沒想到會有這么多方法吧,去考考你身邊的小伙伴吧。”

本文歡迎轉發,轉發請注明作者和出處,謝謝!

推薦閱讀

系統的講解 - SSO 單點登錄

系統的講解 - PHP WEB 安全防御

系統的講解 - PHP 緩存技術

系統的講解 - PHP 接口簽名驗證

系統的講解 - PHP 浮點數高精度運算

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/31472.html

相關文章

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

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

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

    摘要:本文旨在對鎖相關源碼本文中的源碼來自使用場景進行舉例,為讀者介紹主流鎖的知識點,以及不同的鎖的適用場景。中,關鍵字和的實現類都是悲觀鎖。自適應意味著自旋的時間次數不再固定,而是由前一次在同一個鎖上的自旋時間及鎖的擁有者的狀態來決定。 前言 Java提供了種類豐富的鎖,每種鎖因其特性的不同,在適當的場景下能夠展現出非常高的效率。本文旨在對鎖相關源碼(本文中的源碼來自JDK 8)、使用場景...

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

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

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

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

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

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

    MAX_zuo 評論0 收藏0

發表評論

0條評論

ShevaKuilin

|高級講師

TA的文章

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