| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > rand() работает до 32тыс, а как сделать больше? |
| Автор: victor79 8.1.2015, 00:55 |
| мне нужен rand до нескольких миллионов, может десятков. Как стандартными средствами такое получать? |
| Автор: Cheloveck 8.1.2015, 01:39 |
| Умножить rand на rand? |
| Автор: victor79 8.1.2015, 14:57 |
| а распределение без изьянов будет? |
| Автор: sQu1rr 8.1.2015, 15:16 |
Будет, посмотрите здесь http://stackoverflow.com/questions/9775313/extend-rand-max-range |
| Автор: tzirechnoy 9.1.2015, 20:40 | ||
Нет. Из очевидного: не будет простых чисел большэ RAND_MAX. Неочевидного, думаю, тожэ хватит. Учитывая, что скорее всего там, где RAND_MAX 32768 -- там и сам rand тожэ херня из стандарта POSIX -- то лучшэ всего найти алгоритм нормального pseudo-random number генератора и воплотить его самому. Оно строк 15 обычно всего лишь. |
| Автор: disputant 10.1.2015, 10:22 |
| Ну, варианты - взять книжку Кнута и переписать оттуда, там прямо на C код есть Второй вариант - воспользоваться реализацией, которая поддерживает C++11 и воспользоваться STL. |