|
pusofalse
银牌会员
    
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『楼 主』:
[求助]随机数的另外一个问题
问题思路来自于:
http://www.cn-dos.net/forum/viewthread.php?tid=39925&fpage=1
1.bat
@echo off
:1
set/a n=%random%%%49+100
echo %n%
pause>nul
goto 1 然后打开CMD for %a in (1 1) do start 1.bat
发现随机数都是一样的。。。 想不明白是怎么回事~ 请高手们指教~
[ Last edited by pusofalse on 2008-6-2 at 01:42 AM ]
|

心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-6-2 01:34 |
|
|
joyn
中级用户
   丶杏灬丶
积分 280
发帖 105
注册 2008-5-6 来自 广西
状态 离线
|
|
2008-6-2 01:42 |
|
|
26933062
银牌会员
    
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
3 楼』:
据说随机数是由时间为基数计算来的,若在start 1.bat&ping/n 10 127.1>nul 延时。
就不一样了。
|

致精致简! |
|
2008-6-2 02:06 |
|
|
pusofalse
银牌会员
    
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
4 楼』:
谢谢3楼
|

心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-6-2 02:26 |
|
|
moniuming
银牌会员
     永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
『第
5 楼』:
随机数在FOR循环里是无法改变的
@echo off
:1
for /l %%a in (1 1 10) do echo %random%
pause&cls&goto :1
@echo off
:1
for /l %%a in (1 1 10) do call :echo_
pause&cls&goto :1
:echo_
echo %random%
|
|
2008-6-2 10:25 |
|
|
zh159
金牌会员
     
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
|
2008-6-2 10:30 |
|
|
moniuming
银牌会员
     永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
|
2008-6-2 10:49 |
|
|
liyyhh
初级用户
 
积分 48
发帖 27
注册 2008-6-1
状态 离线
|
|
2008-6-2 13:35 |
|
|
pusofalse
银牌会员
    
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
9 楼』:
6楼的方法总会有重复的。。。可能10次没有一次 但100次,1000次,循环多了的话就有那个一两个重复数
|

心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-6-2 14:13 |
|
|
zh159
金牌会员
     
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
10 楼』:
Quote: | Originally posted by pusofalse at 2008-6-2 14:13:
6楼的方法总会有重复的。。。可能10次没有一次 但100次,1000次,循环多了的话就有那个一两个重复数 |
|
何为“随机数”,就是随机生成的数字,set/?说明了:%RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。
对于获取随机数,如果不加存储和判断,随机数肯定会出现相同的数,而且随机数的次数会受到设定条件的限制。
|

 |
|
2008-6-2 15:50 |
|