この方程式はどのようにmax
と間のmin
乱数を提供しますか?divisibleBy
echo $(((RANDOM%(max-min+divisibleBy))/divisibleBy*divisibleBy+min))
答え1
divsibleBy
単位に整数を掛けるステップで作業していると思います。
RANDOMを無視すると、これは(max-min+divisbleBy)/divisibleBY
(単位x整数)ではなく、通常の整数範囲の幅なので(max-min+divisibleBy)
(単位x整数)の幅です。
(単位×整数)(0から32767の間)%
幅内の数を提供するモジュロ演算子。RANDOM
この/divisibleBy*divisibleBy
部分は、セット内でゼロ以外の残りを取得しないことを保証します(単位x整数)。
+min
幅内の乱数をターゲット範囲に戻します。