應該如何生成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. Visual Basic生成隨機數
- 6. 生成一組隨機數
- 7. 正確生成隨機數
- 8. 隨機數的生成
- 9. 有關生成隨機數
- 10. 隨機數生成問題
- 11. MATLAB生成隨機數
- 12. 生成很多隨機數
- 13. 隨機生成數字?
- 14. 隨機數生成在PySpark
- 15. 大隨機數生成
- 16. qrand不生成隨機數
- 17. 生成隨機小數
- 18. C++生成隨機數-1
- 19. 問題隨機數生成
- 20. C#生成隨機數
- 21. 隨機ID /數生成PHP
- 22. Cuda的隨機數生成
- 23. 生成10次隨機數
- 24. 生成多個隨機數
- 25. 隨機數生成公式?
- 26. SQL生成隨機數
- 27. ArrayList隨機生成
- 28. Javascript隨機生成
- 29. 生成隨機ASCII
- 30. 生成隨機圖
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