蓍草占卜Python法

2021-10-02 15:27:50 字數 588 閱讀 9347

用python模擬蓍草占卜 大衍之數五十,準備五十根蓍草根莖。 其用四十有九,拿出一根擺到旁邊,用剩下四十九根。 把四十九根蓍草隨機分成左右兩撥。 右邊的那一撥拿出一根放旁邊不算。 左邊那一撥,四根一組分數(除以四),最後餘數是零則記四,餘數是其他則記其他(n≤4)。 右邊那一撥同樣除以四。 左邊的餘數加右邊的餘數,再加一。 這是第一步,為第一變,和數不是五就是九。 四十九減第一變的和數,就是四十九減五或者九,結果不是四十四就是四十。

經過第一變的剩餘數(四十四或者四十),再分為左右兩撥。 右邊的那一撥拿出一根放旁邊不算。 左邊那一撥,四根一組分數(除以四),最後餘數是零則記四,餘數是其他則記其他(n≤4)。 右邊那一撥同樣除以四。 左邊的餘數加右邊的餘數,再加一。 這是第二步,為第二變,和數不是四就是八。

經過第二變的剩餘數(四十四或者四十),再分為左右兩撥。 右邊的那一撥拿出一根放旁邊不算。 左邊那一撥,四根一組分數(除以四),最後餘數是零則記四,餘數是其他則記其他(n≤4)。 右邊那一撥同樣除以四。 左邊的餘數加右邊的餘數,再加一。 這是第三步,為第三變,和數不是四就是八。

最後用四十九去減前三次餘數之和,可能的四個結果為:36,32,28,24. 36為老陽,32為少陰,28為少陽,24為老陰。

python 冒泡法 快速排序法

import random 匯入隨機數 def bubble sort l 定義函式 for i in range len l 1 因為如果有n個數,如果n 1個都已經排列好了,所以就已經排列好了,所以要 1,也可以不用 1,但是會造成資源的浪費 for j in range len l i 1 因...

回溯python 回溯法 python

class solution def permute self,nums list int list list int if not nums return nums result self.backtrack nums,result,return result def backtrack self...

分支定界法 python 分支定界法

分支定界法 branch and bound 是一種求解離散資料組合的最優化問題。該演算法執行的效率取決於你所找的問題解空間的上下界,如果找到乙個很緊湊的上下界進行剪枝操作,該演算法的執行效率會非常高,因此它是最有可能在多項式時間內求解np問題的演算法。使用分支定界演算法的一般步驟為 構造一棵搜尋樹...