VB中随机函数的用法
教课书上写道int(100*rnd)+1---产生1-100间的随机整数我想不明白这括号后面+1是什么意思能不能说明一下原理呢...
教课书上写道int(100*rnd)+1 ---产生1-100间的随机整数
我想不明白这括号后面+1是什么意思
能不能说明一下原理呢 展开
我想不明白这括号后面+1是什么意思
能不能说明一下原理呢 展开
7个回答
推荐于2018-03-13 · 知道合伙人软件行家
关注
展开全部
让我给你个合理的解释:
严格的说rnd()函数只产生0到1直接的随机数(但绝不包括0和1),
那灶搜么得:(当然 位数比我下面的还要大 举个例子)
0的无限逼近:0.0000001
1的无限逼隐散历近:0.9999999
int()函数是个取整函数,它的最大特点(往往让人错误)是忽略了小数部分.
结果:
int(0.0000001)=0 int(0.9999999)=0
从0和1的无限逼近值 * 100(即100*rnd())
那么
100倍0的无限逼近:00.00001 (仍然是0啊) int(100*rnd())=0
100倍1的无限逼近:99.99999 (永远也到不掘旁了100啊 ) int(100*rnd())=99
那么int(100*rnd())+1
0+1=1
99+1=100
最后得出区间:1-100
严格的说rnd()函数只产生0到1直接的随机数(但绝不包括0和1),
那灶搜么得:(当然 位数比我下面的还要大 举个例子)
0的无限逼近:0.0000001
1的无限逼隐散历近:0.9999999
int()函数是个取整函数,它的最大特点(往往让人错误)是忽略了小数部分.
结果:
int(0.0000001)=0 int(0.9999999)=0
从0和1的无限逼近值 * 100(即100*rnd())
那么
100倍0的无限逼近:00.00001 (仍然是0啊) int(100*rnd())=0
100倍1的无限逼近:99.99999 (永远也到不掘旁了100啊 ) int(100*rnd())=99
那么int(100*rnd())+1
0+1=1
99+1=100
最后得出区间:1-100
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int((rnd*6)+1),随即产生1到6之间的
整数
rnd()
函数
随即产生一个大于等于0但小于1的
单精度浮点数
,
例如:你要随即产生10到96之间的整数
int(rnd*87
+10)
假设老禅产生a到b之间的整数
则这个范围应该是b-a,由于rnd随机产生宴含败的数小于1且大于等于0,则
应该将rnd()乘以(b-a+1),则int(rnd*(b-a+1))就产生0到b-a之间的整数
再加上a以后就是a到b之晌颤间的整数,即int(rnd*(b-a+1)+a)
整数
rnd()
函数
随即产生一个大于等于0但小于1的
单精度浮点数
,
例如:你要随即产生10到96之间的整数
int(rnd*87
+10)
假设老禅产生a到b之间的整数
则这个范围应该是b-a,由于rnd随机产生宴含败的数小于1且大于等于0,则
应该将rnd()乘以(b-a+1),则int(rnd*(b-a+1))就产生0到b-a之间的整数
再加上a以后就是a到b之晌颤间的整数,即int(rnd*(b-a+1)+a)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rnd()本身返回0~1(小于1)间的随机数,
100*rnd就成了100以内的数字
int(100*rnd),取整后,最大只有99,最小是0
所穗颂以猜吵郑int(100*rnd)+1就在碰野1~100之间了.
100*rnd就成了100以内的数字
int(100*rnd),取整后,最大只有99,最小是0
所穗颂以猜吵郑int(100*rnd)+1就在碰野1~100之间了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是MSDN中的帮助.你看下吧..就知道100和1是怎么来的了.
为了生成某个范围内的随机整数,可樱行使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下档颂型行猜限。
为了生成某个范围内的随机整数,可樱行使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下档颂型行猜限。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询