百錢買百雞、漢諾塔、八皇后等常見經典算法介紹?

算法是一門古老的學科,隨著歷史的發展,積累了很多經典算法問題,在此向大家介紹幾個,共同學習。

工具/原料

電腦

某種編程語言

方法/步驟

百錢買百雞問題:雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問翁、母、雛各幾何?

百錢買百雞、漢諾塔、八皇后等常見經典算法介紹

五家共井問題:今有五家共井,甲二綆不足如乙一綆,乙三綆不足如丙一綆,丙四綆不足如丁一綆,丁五綆不足如戊一綆,戊六綆不足如甲一綆。如各得所不足一綆,皆逮。問井深、綆長各幾何?大致意思如下:

現在有五家共用一口井,甲、乙、丙、丁、戊五家各有一條繩子汲水:甲繩X2+乙繩=井深,乙繩X3+丙繩=井深,丙繩X4+丁繩=井深,丁繩X5+戊繩=井深,戊繩X6+甲繩=井繩,求甲、乙、丙、丁、戊各家繩子的長度和井深。

百錢買百雞、漢諾塔、八皇后等常見經典算法介紹

猴子吃桃問題:某天一隻猴子摘了一堆桃子,每天吃掉其中的一半然後再多吃一個,第二天吃剩餘的一半然後再多吃一個,……,直到第十天,猴子發現只有一個桃子了。問這隻猴子在第一天摘了多少個桃子?

百錢買百雞、漢諾塔、八皇后等常見經典算法介紹

漢諾塔問題:玻拉瑪是古印度一個開天闢地的神,其在一個廟宇中留下了三根金剛石的棒,第一根上面套著64個大小不一的圓形金片。其中,最大的金片在最底下,其餘的依次疊上去,且一個比一個小,如下圖所示。勃拉瑪要求眾僧將該金剛石棒中的金片逐個地移到另一個棒上,規定一次只能移動一個金片,且金片在放到棒上時,大的只能放在小的下面,但是可以利用中間的一根棒作為輔助移動使用。

百錢買百雞、漢諾塔、八皇后等常見經典算法介紹

竊賊問題:有一個竊賊帶著一個揹包去偷東西,房屋中共有五件物品,其重量和價值如下。

物品1:6公斤,48元。

物品2:5公斤,40元。

物品3:2公斤,12元。

物品4:1公斤,8元。

物品5:1公斤,7元。

竊賊希望能夠拿最大價值的東西,而竊賊的揹包最大可裝重量為8公斤的物品。那麼竊賊應該裝哪些物品呢?

百錢買百雞、漢諾塔、八皇后等常見經典算法介紹

八皇后問題:國際象棋的棋盤有8行8列公64個單元格,在棋盤上擺放8個皇后,使其不能互相攻擊,也就是說任意兩個皇后都不能處於同一行、同一列或同一斜線上。問總共有多少種擺放方法,每一種擺放方式是怎樣的。

百錢買百雞、漢諾塔、八皇后等常見經典算法介紹

注意事項

圖片均來自網絡。

相關問題答案