이 방정식은 어떻게 두 값 사이의 난수를 제공합니까?

이 방정식은 어떻게 두 값 사이의 난수를 제공합니까?

이 방정식은 어떻게 max과 사이의 min난수를 제공합니까?divisibleBy

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

답변1

divsibleBy단위에 정수를 곱하는 단계로 작업한다고 생각하세요 .

지금은 RANDOM을 무시하면 이는 (max-min+divisbleBy)/divisibleBY(단위 x 정수)가 아닌 일반 정수 범위의 너비이므로 (max-min+divisibleBy)(단위 x 정수)의 너비 입니다.

(단위 x 정수) (0에서 32767 사이) %너비 내의 숫자를 제공하는 모듈로 연산자 입니다 .RANDOM

/divisibleBy*divisibleBy부분은 세트 내에서 0이 아닌 나머지를 얻지 않도록 보장합니다(단위 x 정수).

+min 너비 내에 있는 난수를 대상 범위로 다시 이동합니다 .

관련 정보