要知道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
版权声明:本文为lanchunhui原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
要知道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