关于随机数的问题
c4droid吧
全部回复
仅看楼主
level 11
如果在一个循环中用到了一个随机数,怎么让它一次循环中取到了一个值后,后面循环就取不到这个值,即概率降为0?有什么简单的方法呢?
2017年11月20日 23点11分 1
level 11
如果限定它只能取到2次呢?
2017年11月20日 23点11分 2
level 9
当然是检查这个值,如果还是上次的值,舍弃。
2017年11月20日 23点11分 3
循环里怎么检查?
2017年11月20日 23点11分
level 9
比如说用数组保存已出现的数,每出一个新数对比数组中所有数。
2017年11月21日 00点11分 4
level 9
或者先给一个有序数组,用洗牌法,随机在里面抽两个数交换,只要交换数量够,保证洗出随机序列。
2017年11月21日 00点11分 5
或者重头到尾按顺序和一个随机位置交换。
2017年11月21日 00点11分
@飞舞云尖 关键是这次循环并不知道前几次循环取的值,每次循环取的值都是未知的。
2017年11月21日 01点11分
回复 可乐可乐🌿 :说过了,把所有取过的值保存下来。
2017年11月21日 04点11分
level 1
[滑稽]设置一个变量Z初始为0。判断当Z=0的时候,取随机数,取了随机数后,这个变量Z++。
2017年11月22日 04点11分 9
当Z不等于0时,不就不取随机数了?[疑问]
2017年11月22日 07点11分
回复 可乐可乐🌿 :好吧,我理解错了。你要的是随机值不会重复是吧,那就用个数列记录已有的随机值,每次随机就对比,重复了就再随机对比。
2017年11月22日 07点11分
1