
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
은 (단위 x 정수) 세트 내부에서 0이 아닌 나머지를 얻지 못하도록 합니다.
+min
폭 내에 속하는 난수를 대상 범위로 다시 이동합니다 .