zoukankan      html  css  js  c++  java
  • 关于bat中随机数的生成方法

    在bat/cmd中我们可以使用其内置的变量%random%生成随机数字,范围为[0,65535]

    1、,直接使用echo %random%的方式就可以生成了:

    C:UsersQQ5201351Desktop>echo %random%
    520
    
    C:UsersQQ5201351Desktop>echo %random%
    1351

    2、如果需要生成指定范围内的随机数,如[min,max],可以采取一种思想,求模(余数)的思想,

        第一步:用max-min+1   如结果为x

        第二步:生成一个0~65535的随机数,结果为y

        第三步:用y除以x,取余数,那么余数最小为0,最大为上面提到的  (max-min)

        第四步:用求得余数+min,那么,最小的结果就是0+min,最大的结果就是max-min+max

    ++++++++++++++上面的解释可能有点绕,可能一下不能很好的理解,举以一个实例

    3、生成一个[520,1351]范围内的随机数

    @echo off 
    setlocal enabledelayedexpansion
    set min=520
    set max=1351
    set /a mod=!max!-!min!+1
    
    set /a rand_num=!random!%%!mod!+!min! & echo !rand_num!

    4、如果要生成指定个数的随机数、我们可以在上面的基础上结合for语句实现,如生成6个1到100之间(包括1和100)的随机数:

    @echo off 
    setlocal enabledelayedexpansion
    set min=1
    set max=100
    set /a mod=!max!-!min!+1
    
    for /l %%i in (1,1,6) do (set /a rand_num=!random!%%!mod!+!min! & echo !rand_num!)

    尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/13734617.html

  • 相关阅读:
    我的WCF之旅(1):创建一个简单的WCF程序
    网页设计中颜色的搭配
    CSS HACK:全面兼容IE6/IE7/IE8/FF的CSS HACK
    UVa 1326 Jurassic Remains
    UVa 10340 All in All
    UVa 673 Parentheses Balance
    UVa 442 Matrix Chain Multiplication
    UVa 10970 Big Chocolate
    UVa 679 Dropping Balls
    UVa 133 The Dole Queue
  • 原文地址:https://www.cnblogs.com/5201351/p/13734617.html
Copyright © 2011-2022 走看看