我需要生成100
隨機索引在一個說5000字的數組中arr[5000]
。我認爲rand()
將使用更多的CPU,所以我不想循環它100次。我只想調用它一次,並希望有機制有隨機數組索引。我的想法是爲前20個索引設置隨機值,並生成一個偏移量並繼續添加到生成的隨機值中。即如果10
是前20個指數的隨機值,那麼如果偏移量是6
那麼我的隨機數就是10,16,22,28...etc
您認爲這是個好主意嗎?你能推薦其他的嗎?謝謝。隨機數字創建
Q
隨機數字創建
0
A
回答
7
這是一個可怕的想法,結果值將不會是「隨機」的。
只需做一個循環,併爲您需要的每個號碼撥打rand()
。它不會「使用更多的CPU」(超過什麼?),它會沒事的。
此外,當然要注意,rand()
通常是一個僞隨機生成器,最好還是比你的方法更好。
+0
我剛剛舉了一個'arr [5000]'的例子,實際上我有'2000 * arr [5000]',我需要'5000'每個數組有'2000'隨機索引。你還認爲'rand()'不會佔用CPU。也許我的想法沒有準確的隨機數,但至少每次當特定範圍的rand()給出不同的數字並且增加了偏移量時,我都有不同的數字。 –
0
使用rand()是個好主意。然而,如果你真的想做你的僞隨機生成器(99%的情況下不是正確的答案),那麼看看Linear Congruential Generator - 它背後的數學很簡單,它是libc的基礎隨機()實現。你可以試試同樣的樂趣!這是另一個link。
相關問題
- 1. 創建隨機數
- 2. 創建隨機數
- 3. 創建隨機數
- 4. 隨機類不會創建隨機數?
- 5. 爲隨機數字創建XYZ圖
- 6. 創建隨機MSISDN 10位數字
- 7. C#/ XNA僞隨機數字創建
- 8. 創建隨機數據
- 9. 創建一個隨機數
- 10. 創建BigDecimale隨機
- 11. 創建隨機樹?
- 12. 創建隨機INTS
- 13. 創建隨機4字節編號
- 14. 如何創建隨機字符串JS
- 15. 創建的函數隨機數
- 16. 創建的數字的隨機字符串
- 17. 創建隨機數字的特定要求的字符串
- 18. 在Qt4中創建一個隨機字符串或數字
- 19. 創建隨機字母數字上的IOS
- 20. 使用隨機數創建羣集
- 21. 創建唯一的隨機數
- 22. Nvelocity - 創建一個隨機數
- 23. 創建隨機numberbetween在vb.net 2數
- 24. 如何創建生成隨機數
- 25. 爪哇:創建隨機串數
- 26. openmp創建隨機數的線程
- 27. 在SpriteKit中創建隨機數
- 28. 創建10個不同的隨機數
- 29. 使用MYSQL創建一個隨機數
- 30. 用隨機數創建一個變量
調用'rand()'100次不會是一個問題。 –
即使調用rand()〜10 mil也不會比大多數可以避免調用rand的東西更糟...... –
您想實現的僞隨機性的質量是多少?意思是,沒有高質量的隨機指數會有多重要?無論如何,我會建議遵循Arvind關於LCG的評論。如果隨機性非常重要,那就去實施梅森扭轉者。在任何情況下,LCG在CPU方面都很便宜。 – nvlass