急求!如何在一定范围内取随机整数值!

学术版

windows下范围太小了 不如手写
by 碳六灵 @ 2018-06-23 09:30:52


@[破壁人五号](/space/show?uid=37676) 666...缺的就是【l,r】范围内的... ○| ̄|_
by Rnfmabj @ 2018-06-23 09:31:25


@[司马风吟](/space/show?uid=93707) ```cpp int n; ```
by RiverFun @ 2018-06-23 09:39:58


@[司马风吟](/space/show?uid=93707) 万能头文件不是万能的
by LCuter @ 2018-06-23 09:41:12


首先,你要写```srand(time(0));```(最简单写法) 然后,有一个函数```rand()```,可以生成```0 ~ RAND_MAX```的随机整数,```RAND_MAX```是一个常数,一般是32767。 最后,如果你要框定范围,取模就行了。
by _ztyqwq @ 2018-06-23 10:31:34


但是像```rand()%3```这种可以生成```0~2```之间随机数的函数,其实不完全随机,2的概率会小一点点(```32767%3==1```,所以```rand()%3```抽到2的概率会小一点点),用的时候可以把```>=32766```的数排除掉,不过一般不要紧。
by _ztyqwq @ 2018-06-23 10:34:31


@[Ryan_wxn_](/space/show?uid=83547) 啊?看来被误导了啊...
by Rnfmabj @ 2018-06-23 10:49:24


@[司马风吟](/space/show?uid=93707) 只是包含了大多数头文件而已
by LCuter @ 2018-06-23 11:06:15


@[司马风吟](/space/show?uid=93707) 若对效率要求高、对随机性要求不高,用rand()手写;否则用C++11的随机数引擎和随机数分布类。
by happyZYM @ 2018-06-25 11:03:05


上一页 |