批處理如何在某個范圍內取隨機值而且在一般情況下不能跟上次的值過于接近最后由 BAT1 于 -12-20 23:28取值的需求如下:在某個范圍內取隨機值,在(設定)概率內不能跟上次的值過于接近。例如: 在 1~25 內取隨機值(設“接近”的值為正負5),僅有百分之十的情況會出現跟前次取值在正負5之內的數字。那么可以出現這樣的數字9142 1810 25 516 22 117 10(10跟前一個數字比較接近,出現的概率假設為50分之1)不可以出現這樣的數字2 10412613 714 (規律太過于明顯的數字不行)2 16 19 101312 9 7(大部分數字都非常接近)7 18 722 51624 1117 20(最開始那幾個數字盡量不要太接近,更不要重復)另外,代碼要插入到一個超大腳本的中間部分,所以要支持GOTO調用前面代碼.....:2代碼放在這樣的位置(每次只取一個隨機值,假如運行到后面會轉跳回來,就按上面的要求取隨機數)用取到的隨機數,作平均數,生成三個隨機數,三個隨機數,隨機數字相差不能在2以內,但又不能相差太大,超過中間值的百分之十五就算太大。goto 3(取夠隨機值,跳到標簽3)goto 2 (再次取值,第二次取值時,要考慮到限制的條件):3后面代碼......如果不想看上面的內容,簡單的說只有一句話,要取幾次隨機數字,盡量讓他們顯的雜亂無章,越亂越好。我用%random%取余數,不知道什么原因跟前一次取到的數值,經常只是加減2~5左右,太過于接近了,要在在5~13之間就好了。