新绛海泉大酒店小姐:VB随机数问题 int(rnd()*x)+y
来源:百度文库 编辑:杭州交通信息网 时间:2024/05/15 11:42:10
VB随机数问题
在int(rnd()*3)基础上如何改动,使得在0~3范围内可能得到的结果为(只能得到0)(0或1)(0或2)(只能得到1)(1或2)(2)(2或3)(3)(1或2或3)
我的一个想法是int(rnd()*3)+n,当n=0时,在0~3范围内可以得到(0或1或2) 当n=1(1或2) 当n=2 (只能得到2) 当n=-1(0或1) 当n=-2(只能得到0) 但是问题也出来了,当n=?时,可以得到(1)和(0,2)
只要是int(rnd()*x)+y这种形势就可以,谢谢了
(x&y可以是一函数)
我的表达对于语文不好的人理解起来可能确实有点问题,换一个问法:当t=rnd()时,t为{0~1}之间的一个随机数。
对上式修改后(仍然只能用一次随机函数)
可否使得t为{0~0.4&0.6~1}之间的一个随机数
在int(rnd()*3)基础上如何改动,使得在0~3范围内可能得到的结果为(只能得到0)(0或1)(0或2)(只能得到1)(1或2)(2)(2或3)(3)(1或2或3)
我的一个想法是int(rnd()*3)+n,当n=0时,在0~3范围内可以得到(0或1或2) 当n=1(1或2) 当n=2 (只能得到2) 当n=-1(0或1) 当n=-2(只能得到0) 但是问题也出来了,当n=?时,可以得到(1)和(0,2)
只要是int(rnd()*x)+y这种形势就可以,谢谢了
(x&y可以是一函数)
我的表达对于语文不好的人理解起来可能确实有点问题,换一个问法:当t=rnd()时,t为{0~1}之间的一个随机数。
对上式修改后(仍然只能用一次随机函数)
可否使得t为{0~0.4&0.6~1}之间的一个随机数
是这样,
int(rnd() * x) + y 的结果范围是从 y 到 x + y - 1。
如果 int(rnd() * 3) + 0,范围就是 0 到 3 + 0 - 1 = 2。即 [0, 2)
如果 int(rnd() * 3) + 1,范围就是 1 到 3 + 1 - 1 = 3。即 [1, 3)
第一:int(rnd()*3)+n,当n=2的时候,你确定只能得到2?我觉得不是啊
第二:只能得到一的话,int(int(rnd()*3)/3)+1,只能得1
第三:得到(0,2)的话,照着上面那个来
第四: 不要学了计算机和英文把语文忘了,表达能力有待提高,看你的问题很累,也许我还理解错了......
t=rnd();
if t>0.4 and t<0.5 then
t=4*(t-0.4) //把0.4-0.5转化到0-0.4
if t>=0.5 and t<0.6 then
t=4*(t-0.5)+0.6 //把0.5-0.6转化到0.6-1
这样应该不会影响到概率
VB随机数问题 int(rnd()*x)+y
VB 中int(Rnd*10+10)是什么意思?Rnd*10与10*Rnd是一个意思吗?
int(rnd)+3是什么意思?
关于VB的Rnd函数问题
vb,为什么我用rnd生成的随机数总是相同的啊
Rnd函数如何产生随机数??
VB中,表达式Int(Rnd*4+0)可能的全部值为什么包括0
VB中Label1.Caption = CStr(Int(Rnd() * 10)) 是什么意思啊?
VB中Label1.Caption = CStr(Int(Rnd() * 10)) 是什么意思啊
如何在VB中生成随机数,用Rnd生成的数,每次运行时得到数都一样。