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

[数值计算] [已解决]批处理怎样生产制定的随机数?

本帖最后由 Zombie 于 2011-7-27 17:48 编辑

如何随机生成25个1-18的数字,且前一个为1或2或3,后一个则不能为1、2、3
以此类推

前一个为4或5或6,后一个则不能为4、5、6

每两个数字之间都有空格
生成完后将每个数字替换成字母
比如 1对A 2对B。。。


求高手

有特殊用途

先谢谢了
1

评分人数

    • broly: 感谢给帖子标题标注[已解决]字样PB + 2

1+%random%%%18

TOP

有特殊要求

TOP

本帖最后由 tmplinshi 于 2011-7-27 16:15 编辑
以此类推

前一个为4或5或6,后一个则不能为4、5、6

每两个数字之间都有空格
生成完后将每个数字替换 ...
Zombie 发表于 2011-7-27 14:17


也就是相邻的两个不能重复,是吧?
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a count = 0, LastNum = 0, list_num = 0, list_letter = 0
  4. set letters=#ABCDEFGHIJKLMNOPQR
  5. :loop
  6. set /a n = %random% %% 18 + 1
  7. if %n% == %LastNum% goto loop
  8. set list_num=%list_num% %n%
  9. set list_letter=%list_letter% !letters:~%n%,1!
  10. set /a count += 1, LastNum = n
  11. if %count% neq 25 goto loop
  12. for %%a in (list_num list_letter) do set %%a=!%%a:* =!
  13. set list
  14. pause
复制代码
2

评分人数

TOP

返回列表