應該如何生成10個獨特的數字,這些數字在一組10人生成的答案中不應該匹配?隨機數生成
Q
隨機數生成
0
A
回答
3
這一個有一個很好的解決方案。我假設你必須以隨機的方式給1-10個不同的人1-10(但是如果你有10個(或更多)不同的非連續的數字,這個原則也適用)。
- 排列數組中的數字。
- 使用混洗算法來混洗數組中的元素。
- 從陣列讀取所述第一的10個值,並分配到各十人。
1
您可以使用操作系統工具生成GUID(全局唯一標識符)。
一個GUID是一個32位十六進制,看起來像這樣:{21EC2020-3AEA-1069-A2DD-08002B30309D}
(從GUID wikipedia article無恥地被盜)。這使得它成爲一個128位數字。現在,它擁有所有那些令人討厭的角色,但是沒有任何東西阻止你去除多餘的字符並從十六進制轉換爲純數字。
出於實際原因,您需要注意的是,在某些語言(如C99)中,128位數字有點難以使用。但是你仍然可以使用編譯器擴展(GCC有__uint128_t
)或者用其他方式處理它。
相關問題
- 1. 隨機數生成
- 2. 生成隨機數
- 3. 生成隨機數
- 4. 生成隨機數
- 5. 生成隨機數
- 6. 隨機數生成機制
- 7. 生成隨機數:計算隨機生成的x次數
- 8. 隨機數生成器幫助不生成隨機數 - C
- 9. 隨機()不生成隨機數
- 10. 從隨機長生成隨機數
- 11. 在隨機生成50個隨機數中使用隨機數#
- 12. 僞隨機數生成
- 13. 無法生成隨機數
- 14. 生成隨機小數
- 15. Haskell Grokking隨機數生成
- 16. SQL生成隨機數
- 17. 隨機數生成查詢
- 18. C - 生成隨機數
- 19. 大隨機數生成
- 20. 生成隨機數2^30
- 21. 隨機數生成問題
- 22. Lua隨機數生成
- 23. 用jinja2生成隨機數
- 24. 生成多個隨機數
- 25. 庫隨機數生成
- 26. 在Laravel生成隨機數
- 27. 隨機數據生成器
- 28. 生成隨機數的Array
- 29. 隨機生成數字?
- 30. MATLAB生成隨機數
GUID呢? – cha0site 2012-04-13 14:55:47
不允許使用任何字母或特殊字符,只能使用0-9和10個隨機數的總和最小。 – Santosh 2012-04-13 15:00:26
GUID只是一個數字。您不需要用十六進制顯示分隔破折號。 – hammar 2012-04-13 15:03:38