标题: [数值计算] [已解决]批处理怎样生产制定的随机数? [打印本页]
作者: Zombie 时间: 2011-7-27 14:17 标题: [已解决]批处理怎样生产制定的随机数?
本帖最后由 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。。。
求高手
有特殊用途
先谢谢了
作者: applba 时间: 2011-7-27 14:20
1+%random%%%18
作者: Zombie 时间: 2011-7-27 14:20
有特殊要求
作者: tmplinshi 时间: 2011-7-27 15:48
本帖最后由 tmplinshi 于 2011-7-27 16:15 编辑
以此类推
前一个为4或5或6,后一个则不能为4、5、6
每两个数字之间都有空格
生成完后将每个数字替换 ...
Zombie 发表于 2011-7-27 14:17
也就是相邻的两个不能重复,是吧?- @echo off
- setlocal enabledelayedexpansion
- set /a count = 0, LastNum = 0, list_num = 0, list_letter = 0
- set letters=#ABCDEFGHIJKLMNOPQR
-
- :loop
- set /a n = %random% %% 18 + 1
- if %n% == %LastNum% goto loop
- set list_num=%list_num% %n%
- set list_letter=%list_letter% !letters:~%n%,1!
- set /a count += 1, LastNum = n
- if %count% neq 25 goto loop
-
- for %%a in (list_num list_letter) do set %%a=!%%a:* =!
-
- set list
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |