返回列表 发帖
@echo off
set ci=4
:start
set /a w=%random%%%9+1,y=9
set "var=0 1 2 3 4 5 6 7 8 9"
call set "var=%%var:%w%=%%"
for /l %%a in (1 1 3) do call :loop
if not defined _%w% (
   set _%w%=a
   echo %w%
   set /a ci-=1
)
if %ci% neq 0 goto start
echo\&pause&exit
:loop
set /a n=%random%%%%y%+1
for /f "tokens=%n%" %%a in ("%var%") do set "m=%%a"
set /a "y-=1"
set "w=%w%%m%"
call set "var=%%var:%m%=%%"
goto :eofCOPY
技术问题请到论坛发帖求助!

TOP

回复 6楼 的帖子

你觉得是人为的复杂了?
我似乎精简不出来了。代码最主要的是想考虑效率问题,避免反复 goto

回 4 楼
set /a w=%random%%%9+1,y=9
可以看成
set /a w=%random%%%9+1
set /a y=9
set /a w=%random%%%9+1  %rqndom% 是个随机数 %% 代表取余操作。9+1 代表取的数底数为 1 范围是 9
技术问题请到论坛发帖求助!

TOP

思路很巧啊
技术问题请到论坛发帖求助!

TOP

回复 15楼 的帖子

功力不错啊,学什么的。
赞!
技术问题请到论坛发帖求助!

TOP

返回列表