Случайные числа с пробелом - PullRequest
0 голосов
/ 14 февраля 2019

В C как я могу получить случайные числа в определенном промежутке?Как, например, получить случайное число между числами 5 и 25.

Я уже пытался вычесть так:

srand((int) time(NULL));
numero = rand()%max-min;

А также попытался сделать цикл выполнения,но это никогда не кончалось.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Для ситуаций, когда небольшой уклон не является критическим для минимального до максимального включительно:

numero = rand() % (max + 1 - min) + min ;

статистически свободный случайный случай немного более сложен, но часто не нужен во многих приложениях, и когда max + 1 - min мало по сравнениюдо RAND_MAX.

0 голосов
/ 14 февраля 2019

Простой способ генерирования случайных чисел от min (включительно) до max (исключая):

rand() % (max-min) + min;

Однако статистические свойства этих чисел могут быть не очень хорошими, поскольку младшие цифрычисла, генерируемые rand(), имеют тенденцию иметь более короткие циклы.

...