我需要一個散列函數H(X),它滿足以下條件:手動散列函數
(1)輸入大約10個數字,輸出大約10個數字。 (2)如果你改變X即使只是一個數字,你也會得到一個完全不同的H(X)。
(3)易於計算手動。人們將手工計算。我需要他們能夠快速,無誤地完成任務。
謝謝你的創意!
編輯:「散列」我的意思是「單向散列」的精神。那就是 - 給定H(X),應該很難找到X的可能值。對於人來說很難。
編輯:這是幹什麼用的?這是考試。學生將做計算並獲得數字作爲答案。我希望他們在測試過程中能夠知道他們是否正確答案。所以這個想法是:將所有答案連接到一個數字X.然後計算H(X)。然後使用H(X)逐個解碼一些代碼,並獲得一條表示您的正確性的短消息。我不希望他們在得到第一個答案後能夠找出第四個答案。
如果您的輸入和輸出尺寸相同,爲什麼需要散列函數? – 2010-11-16 01:03:30
hm ...你如何快速計算10位數字的操作?計算器是否允許?如果您使用%運算符,則一個大的素數會起作用... – irrelephant 2010-11-16 01:05:59
假定有十進制數字,將X.Bam的每個數字加1。不同的價值,保證沒有碰撞。不是真正的哈希。 – jball 2010-11-16 01:08:14