一定範囲の乱数を生成する汎用式
1262 ワード
rand()%(b-a)
によって生成される乱数の範囲が[0, b-a-1]
であることを知るには、以下の実装が容易であることを知っておく必要があります.(a, b)
rand()%(b-a-1)+(a+1)
[a, b)
rand()%(b-a)+a
(a, b]
rand()%(b-a)+(a+1)
[a, b]
rand()%(b-a+1)+a
References
[1]C/C++で乱数が発生する(rand,srand用法)