
vb如何产生随机数
产生1-1000的整型随机数并且把它给suiji这个变量.请给出部分程序。像前面的Private什么的就不用写了。复制粘贴的请走--伪随机不要rand伪随机只要短期内比如...
产生1-1000的整型随机数
并且把它给suiji这个变量.
请给出部分程序。像前面的Private什么的就不用写了。
复制粘贴的请走- -
伪随机不要 rand伪随机 只要短期内 比如10000次不重复就好。。 10000次不重复是指第10001次和第1次不会一定一样,第10002次和第2次不会一定一样,以此类推
这个程序是不是可以:
Randomize()
suiji = Int((999 * Rnd()) + 1) 展开
并且把它给suiji这个变量.
请给出部分程序。像前面的Private什么的就不用写了。
复制粘贴的请走- -
伪随机不要 rand伪随机 只要短期内 比如10000次不重复就好。。 10000次不重复是指第10001次和第1次不会一定一样,第10002次和第2次不会一定一样,以此类推
这个程序是不是可以:
Randomize()
suiji = Int((999 * Rnd()) + 1) 展开
11个回答
展开全部
自己做?
10000次不重复的话
Private m_Randed() As Long
Private Max As Long
'注:以上变量请勿改写,除非Rand还未调用或者清零
Function Rand() As Single
Dim s As Single
Randomize
s = Int(Rnd * UBound(m_Randed))
Rand = s
For i = 1 To UBound(m_Randed)
'思路:如果等于已经产生过的随机数则+1
If s = m_Randed(i) Then Rand = Rand + 1
If Rand >= Max Then Rand = 0
Next
If Rand > Max Then Rand = s: Exit Sub '只得重复,放弃
ReDim Preserve m_Randed(UBound(m_Randed) + 1)
m_Randed(UBound(m_Randed)) = Rand
End Function
以上是真RAND的代码 但是请注意 如果已经10000次了 它只得自动搞重复过的
10000次不重复的话
Private m_Randed() As Long
Private Max As Long
'注:以上变量请勿改写,除非Rand还未调用或者清零
Function Rand() As Single
Dim s As Single
Randomize
s = Int(Rnd * UBound(m_Randed))
Rand = s
For i = 1 To UBound(m_Randed)
'思路:如果等于已经产生过的随机数则+1
If s = m_Randed(i) Then Rand = Rand + 1
If Rand >= Max Then Rand = 0
Next
If Rand > Max Then Rand = s: Exit Sub '只得重复,放弃
ReDim Preserve m_Randed(UBound(m_Randed) + 1)
m_Randed(UBound(m_Randed)) = Rand
End Function
以上是真RAND的代码 但是请注意 如果已经10000次了 它只得自动搞重复过的
参考资料: 自己编写
展开全部
只能用Rnd,可能是因为你没初始化吧。
这样写:
Randomize '初始化
suiji= Fix(Rnd * 999) + 1 '生成0-999的随机数,+1则为1-1000
10000次不重复?一共只有1000个数,怎么可能不重复呢?
这样写:
Randomize '初始化
suiji= Fix(Rnd * 999) + 1 '生成0-999的随机数,+1则为1-1000
10000次不重复?一共只有1000个数,怎么可能不重复呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
除了Rnd()还得在产生随机数前调用Randomize使计数器初始化,保证每次产生的数值不会一样
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rnd()*1000
啥语言都实现不了真随机。
啥语言都实现不了真随机。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Randomize
suiji=int(rnd*1000)+1
suiji=int(rnd*1000)+1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询