VB6.0随机数字问题,随机生成数字,如何使一个数字最多只出现两次(包括两次)

如题所述

第1个回答  2013-09-13
每次生成就保存为数组,然后在用循环对比,如果发现2次重合就重新生成随机数
第2个回答  2013-09-12
生成后判断和之前的数字逐一比较有没有重复,有重复则重新生成追问

怎么弄

追答

要多少个数?对数字大小有何限制?

追问

你说的是数组吧,我的意思是一个数字只能出现两次而已,这个能实现吗

追答

你这个两次指的是生成的随机数不能和前面生成的相同2次,对吗?
有个办法,每次在生成的随机数上加固定的偏差

比如下面这个,可以生成递增的随机数
0,7,15,26,33,43,58,60,78,88,97,100,114,129,138,144,160,169,171,189,194,205,218,221,236,245,253,266,276,283,293,308,318,326,340,349,352,367,380,382,395,401,420,427,430,446,451,461,478,483,490,503,514,523,539,550,554,563,572,582,596,604,614,627,633,646,652,662,676,681,695,709,713,728,734,743,759,766,776,784,791,806,817,829,838,840,855,869,874,887,895,905,915,924,934,943,951,962,980,981,994

Private Sub Command1_Click()
temp = 0
For i = 1 To 100
kk = CInt(Rnd * 10) + temp
temp = temp + 10
Text1 = Text1 & "," & kk
Next

End Sub

Private Sub Command1_Click()
temp = 0
For i = 1 To 100
kk = CInt(Rnd * 3) + temp
temp = temp + 3
Text1 = Text1 & "," & kk
Next

End Sub

第3个回答  2013-09-12
说具体一点你想干什么,帮你看看怎么写