Каким образом это уравнение дает случайные числа между двумя значениями?

Каким образом это уравнение дает случайные числа между двумя значениями?

Как это уравнение дает случайные числа между maxи minделящиеся наdivisibleBy

echo $(((RANDOM%(max-min+divisibleBy))/divisibleBy*divisibleBy+min))

решение1

Подумайте об этом как о работе с шагом в divsibleByединицу, умноженным на целое число.

игнорируя на данный момент RANDOM, (max-min+divisbleBy)/divisibleBYширина диапазона будет в простых целых числах, а не (единица x целое число), поэтому (max-min+divisibleBy)ширина в (единица x целые числа)

это %оператор по модулю, который возвращает вам число внутри (единица измерения x целое число) ширины RANDOM(которая будет находиться в диапазоне от 0 до 32767)

часть /divisibleBy*divisibleByгарантирует, что вы не получите ненулевой остаток, находясь внутри набора (единицы x целые числа)

сдвигает +min случайное число (которое попадает в диапазон) обратно в целевой диапазон

Связанный контент