Автор Owen Gefest задал вопрос в разделе Другие языки и технологии
C++ случайные числа и получил лучший ответ
Ответ от ?????? Зелёный змий ??????[гуру]
Вкратце: все генераторы выдают некое количество (множество) значений, и эти значения попадают в некий интервал. стандартный генератор rand() имеет множество значений RAND_MAX + 1 из диапазона [0 - RAND_MAX] определен RAND_MAX так #define RAND_MAX 0x7fff И никакая арифметика над полученными значениями не может увеличить множество значений. Уменьшить - может. Изменить диапазон значений можно с помощью арифметики, равномерность распределения и статистические характеристики могут пострадать, если применять бездарное преобразование. Одним из таких бездарных преобразований (и при этом почему то очень популярное) является операция взятия остатка. int r = rand() % 100; // так не нужно делать! Если нужны числа в диапазоне от 0 до 100 (не включая 100), то грамотное преобразование делается так int r = (100.0 / (MAX_RAND + 1)) * rand(); (100.0 / (MAX_RAND + 1)) - это компилятором будет конвертировано в константу с плавающей точкой, а все преобразование будет состоять из одного умножения на эту константу. Для примера нужен диапазон от -1000 до 1000, включая границы диапазона (всего 2001 значение) int r = -1000 + (2001.0 / (MAX_RAND + 1)) * rand();
что значит без заданного диапазона? у вас числа в компьютерном представлении в любом случае ограничены каким то диапазоном вычитайте и делите если нужно
Сложи два числа. При переполнении получится отрицательное.
Запускать парно два генератора случайных чисел. Один - непосредственно на число, второй - в интервале 0-1 - на знак. int y = random(2); int x = random(num); if(y)x*=-1;
int number = rand(); if(number%2) number *= -1;
напишите свой генератор. class Random { private: int _seed; public: Random(int seed) : _seed(seed) { } int Next() { _seed = _seed*1664525 + 1013904223;
Java. Дан массив из 10 int. Наполнить массив случайными числами от -10 до 10.
import java.util.*;
class q95563532 {
public static void main(String[]
подробнее...
Рандом в C++. Как выглядит? =rand() %n; Так выглядит рандом от 0 до числа "n" А как сделать рандом от n до n?
От 12 до 50
rand() % 39 + 12;
От X до Y
rand() % (Y - X + 1) +
подробнее...
как в c++ генерировать случайное число?
вообще srand(time(NULL)); x = rand()
не инициализируете генератор все время одно и тоже будет
подробнее...
Какие бывают алгоритмы генерации случайных чисел?
Не бывает алгоритмов генерации случайных чисел! А алгоритмы генерации псевдослучайной
подробнее...
Как сделать Random в C#
Есть три способа (основные в С#):
1ый) это System.Random - его описали выше.
подробнее...
C++ округление числа в большую сторону
Есть кстати противоположная функция floor (от слова пол) , округляет всегда в меньшую сторону, а
подробнее...
Подскажите нормальную функцию генерации случайных чисел на C++
srand(time(NULL));
int k = rand() % 101+ 50
Выдаст ПСЕВДОслучайное значение из
подробнее...
Как в Си заполнить массив случайными числами?
#include <stdlib.h>
...
int i, ar[ n ];
подробнее...
Visual C++ не вычисляется sin
Всё там вычисляется.
Попробуй для начала задать значение переменной x, а не использовать
подробнее...
Ч то такое ДИСКРЕНТНЫЕ СЛУЧАЙНЫЕ ВЕЛИЧИНЫ?
Дискретной случайной величиной называется такая переменная величина, которая может принимать
подробнее...
Как сгенерировать пуассоновский поток сообщений на C# или C++?
Примерно так (если наврал, то читай Кнут, Исскуство программирования, третье издание, том 2, глава
подробнее...
Генерация рандомного объекта в Unity 3D
"На публичные закинуть объекты и тадам! " - это что? Скинь свой скрипт, тогда скажу, чу не так.
подробнее...
Программа создания случайных чисел
сории.. . ты модуль переменуй!! ! c randomiz в любое другоее имя
и x сделай real, или double
подробнее...
люди кто знает пароль на деньги в игре Sims2 и 3???
Ctrl-shift-c (одновременно).. вводишь motherlode -прибавляет 50000$
Kaching
подробнее...