[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 随机数问题

现在需要一段代码来取随机数,
set max=
set min=
set n=
......
取max到min之间的数,取N个数。N小于max-min。数字不能相同
求代码  拜谢

  1. $min, $max, $n = -999999, 999999, 30; # 6位数。
  2. ((get-random -input ($min..$max) -count $n)|sort) -join ' ';
  3. cmd /c pause
复制代码
1

评分人数

    • Aub: 感谢分享技术 + 1
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

本帖最后由 Aub 于 2020-3-27 17:47 编辑
  1. @echo off
  2. Set v=0
  3. Set max=%RANDOM%
  4. Set /a ma=!max!+0
  5. Set min=%RANDOM%
  6. Set /a mi=!min!+0
  7. Set /a c=!min!-1
  8. Set /a d=!max!+1
  9. if /i d>=c Set /a min=!d!+0&&Set /a max=!c!+0
  10. set /a n=!RANDOM!%%!max!+!min!
  11. Set /a a=!RANDOM!%%!max-2!+!min-3!
  12. goto 1
  13. :1
  14. Set /a b=!RANDOM!%%!a!+!min-2!
  15. Set /a a=!b!+0
  16. echo b
  17. Set /a v=!v!+1
  18. if /i v<n goto 1
  19. pause
复制代码
bat,ANSI
A pupil

TOP

回复 16# Aub


    获取的数字太多就没法了,字符串长度不够,会闪退

TOP

回复 8# went
  1.     set "max=100"
  2.     set "min=40"
  3.     set "n=20"
复制代码
???
  1.     set max=100
  2.     set min=40
  3.     set n=20
复制代码
就行了
A pupil

TOP

回复 11# went


    每个至少6位数
A pupil

TOP

回复 8# went


    标签后不用空格
A pupil

TOP

回复 13# went


    你用DOS命令衡量Python
A pupil

TOP

回复 12# Aub

看不懂Python...

TOP

回复 11# went


   
4# Aub
A pupil

TOP

回复 9# Aub


字符串长度有限,n值不能过大
你测试的数据是啥

TOP

回复 7# netdzb


    又写错了,现在改了一下
A pupil

TOP

本帖最后由 Aub 于 2020-3-26 15:49 编辑

回复 8# went


重复了
A pupil

TOP

本帖最后由 went 于 2020-3-25 21:46 编辑
  1. @echo off
  2. set "max=100"
  3. set "min=40"
  4. set "n=20"
  5. REM 空格不能去掉
  6. set "str= "
  7. :loop
  8. set /a "a=%random%%%(%max%-%min%+1)+%min%"
  9. call set "newStr=%%str:%a%=%%"
  10. if "%newStr%" equ "%str%" (
  11. REM 不重复,添加进字符串
  12. set "str=%str% %a%"
  13. set /a "n-=1"
  14. )
  15. if "%n%" neq "0" goto :loop
  16. REM 拼接成了字符串,用for自己截取数字即可
  17. echo %str%
  18. pause&exit
复制代码
保存为bat,ANSI编码
2

评分人数

    • Aub: 还是挺好的技术 + 1
    • smss:技术 + 1

TOP

回复 4# Aub

学习一下你的代码。

TOP

返回列表