確定性和唯一數字產生
考慮到需要產生唯一映射到每個輸入數字的確定性整數,這似乎是不可能的Задача 。不過,有一個數學公式可以滿足這個要求。
變換公式
變換公式是由模運算推導出來的:
f(P) = (mP + s) mod n
其中:
此公式確保每個輸入P 對應到 0範圍內的唯一輸出至n-1。 m 的互質條件可防止 m 和 n 之間的公因數,從而消除週期性模式和衝突。
uint64 的實作範例var ( m = uint64(39293) s = uint64(75321908) ) func transform(p uint64) uint64 { return p*m + s }
對於uint64 範圍,下列參數值可以使用:
擴充到
func signedTransform(p int64) int64 { return int64(transform(uint64(p))) }
以上是如何從輸入數字產生確定性且唯一的整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!