C / C ++ में लिखे गए एक छोटे से आवेदन में, मैं rand
फ़ंक्शन और शायद बीज के साथ एक समस्या का सामना कर रहा हूं :
मैं यादृच्छिक संख्याओं के अनुक्रम का उत्पादन करना चाहता हूं जो अलग-अलग आदेशों के हैं, अर्थात अलग-अलग लॉगरिदम मान (बेस 2) के साथ। लेकिन ऐसा लगता है कि उत्पादित सभी संख्याएं एक ही क्रम की हैं, केवल 2 ^ 25 और 2 ^ 30 के बीच उतार-चढ़ाव।
क्या यह इसलिए rand()
है क्योंकि यूनिक्स समय के साथ वरीयता प्राप्त है जो अब तक अपेक्षाकृत बड़ी संख्या है? मैं क्या भूल रहा हूँ? मैं rand()
शुरुआत में केवल एक बार बीजारोपण कर रहा हूं main()
।
rand()
समान रूप से वितरित संख्या (उच्च Google रैंकिंग के साथ प्रलेखन स्पष्ट रूप से ऐसा कहता है) लौटने की उम्मीद करेगा, मुझे नहीं लगता कि यह प्रश्न भविष्य के पाठकों के लिए उपयोगी है। इसीलिए वोट डाउन करें लेकिन इसे एसओ के इस्तेमाल से हतोत्साहित न करें।