如何使每次产生的随机数互不相同

来源:百度知道 编辑:UC知道 时间:2024/06/03 09:01:16
那如何使产生的随机数序列中的每个数都不同

由于随机函数rand()实际上是有个产生随机数的种子srand()决定产生的序列,只要在使用rand()前加一句 srand(time(0));即可
time(0)是一个时间函数,随时间变化不断变化

再在产生随机数之后加一个判断条件就可以了。
如将每次产生的随机数都放在数组a中,
当产生随机数a[i]之后,比较一下a[i]之前有没有数与a[i]相同,若没有,i++,继续产生新的随机数,若有,i不变,重新产生一个随机数覆盖a[i],只不过这样复杂度会高一点。

用rand()是产生随即数,如果不想要重复的话,只要弄一个调用函数把整个数组检测一下,看看这次产生的随即数在不在次数组中,不在的话添加,然后进行后面的,在的话舍弃进行下一个随即数

我也不懂来看看~~~