标题: random的取值问题
[打印本页]
作者: jy02141405
时间: 2008-4-29 18:49
标题: random的取值问题
@echo off
set /a he=%random%%%149
echo %he%
pause
我想取148之内的随即数,但是发现取的值是递增的,比如第一次是3,第2次是7,第3次是12这样.我想要的效果是第一次可能是100,第2次是3这样.真正的随即抽取.
还请高手指点
还有个问题就是:%random%%%149+100
因该是取100-148之间的随即数.但是我一直点下去,他可以点到200以上,实在不解,难道是什么地方写错了吗
[ Last edited by jy02141405 on 2008-4-29 at 06:59 PM ]
作者: huahua0919
时间: 2008-4-29 19:23
这样试试
@echo off
:lp
set /a he=%random%%%149
echo %he%
pause &goto :lp
作者: cmdbat
时间: 2008-4-29 19:46
还有个问题就是:%random%%%149+100
这是取100至248之间的数。
第一个问题不存在,你多试几次就知道了。
作者: jy02141405
时间: 2008-4-29 20:13
谢谢,目的是达到了.但是奇怪的是,为什么不循环调用,只是一次一次的打开,他的初始值会递增呢?还请帮忙解答下
作者: plp626
时间: 2008-4-29 21:06
作者: qdloverr
时间: 2008-4-29 23:01
作者: moniuming
时间: 2008-4-29 23:30
Originally posted by jy02141405 at 2008-4-29 20:13:
谢谢,目的是达到了.但是奇怪的是,为什么不循环调用,只是一次一次的打开,他的初始值会递增呢?还请帮忙解答下
我做了一下试验,发现是和时间有关系的,在我的机子上大概是一秒钟递增三个数
作者: plp626
时间: 2008-4-30 12:01
转,来自搜索:
计算机做不到真正的随机,所有的计算机随机都是“伪随机”,算法不同而已,绝大部分都是用时间作随机种子
(1)单次操作完毕后,单片机的计数器一直不停地计数,在外界对它进行再次操作或者要发送数据时停止计数。因为外界的操作或发送的时间是不定的,所以计数寄存器里面的数是随机的。
(2)可以对按键或操作时间进行计时。用户每次按键或操作的时间都是不定的,并且按键从抖动到稳定的时间也是不定的,对它进行计时,如果把间隔的时间取得合适,即可得到近似随机数。
作者: zh159
时间: 2008-4-30 13:56
可以用set /a he=(%random%+%random%)/2%%49+100获得100-148更为“随机”的数
作者: knoppix7
时间: 2008-4-30 20:03
如果愿意...直接从数学书后面把随机数表抄下来用..
作者: jy02141405
时间: 2008-5-1 21:57
作者: 263392934
时间: 2008-5-2 17:03
作者: slore
时间: 2008-5-2 18:36