产生一定范围随机数的通用表达式

要知道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用法)


版权声明:本文为lanchunhui原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。