У невеликій програмі, написаній на C / C ++, я стикаюся з проблемою rand
функції та, можливо, насіння:
Я хочу створити послідовність випадкових чисел різного порядку, тобто з різними значеннями логарифмів (основа 2). Але здається, що всі отримані числа мають однаковий порядок, коливаючись лише між 2 ^ 25 і 2 ^ 30.
Це тому rand()
, що засіяно час Unix, який на сьогоднішній день є відносно великим? Що я забуваю? Я висіваю насіння rand()
лише один раз на початку main()
.
rand()
повернення рівномірно розподілених номерів (документація з високим рейтингом Google прямо говорить про це), я не думаю, що це питання корисне для майбутніх читачів. Ось чому голосуйте проти, але не дозволяйте це відштовхувати вас від використання ТА.