返回列表 发帖
測試了很久....還要多加努力
@echo off&setlocal enabledelayedexpansion
:lp
for /l %%i in (1 1 9) do set .!random!!random!=%%i
for /f "tokens=1-2 delims==" %%i in ('set .') do (
set /a n+=1,m=n%%4
set "var=!var!%%j"
if !m! equ 0 if not defined #!var:~-4! (
echo !var:~-4!
set /a "num+=1"
set "#!var:~-4!=flag")
if "!num!" equ "100" pause&exit
set "%%i=")
set "var="&set "n="
goto lpCOPY
我是NO.1 呀﹗不過.......@echo是在菜鳥比賽中....>.<

TOP

@echo off
:main
set /a n=%random%%%10
if %n%==0  goto main
:y
set /a m=%random%%%10
if %m%==%n% (goto y) else (set /a b=10*m+n)
:second
set /a x=%random%%%10
if %x%==%n% (goto second)
if %x%==%m% (goto second) else (set /a b=100*x+b)
:third
set /a w=%random%%%10
if %w%==0 (goto third)
if %w%==%n% (goto third)
if %w%==%m% (goto third)
if %w%==%x% (goto third) else (set /a b=1000*w+b)
echo %b%
pause>nulCOPY

TOP

回复 47# 楚牛香


    不知道有没有符号,可以实现或的意思,比如 如果m不等于x或者w的话,这句话有代码能写吗

TOP

本帖最后由 shelluserwlb 于 2014-11-9 15:58 编辑
@echo off
:again
set /a h1=%random%%%9+1
set /a h2=%random%%%9
set /a h3=%random%%%9
set /a h4=%random%%%9
if %h1% neq %h2% (
if %h1% neq %h3% (
if %h1% neq %h4% (
if %h2% neq %h3% (
if %h2% neq %h4% (
if %h3% neq %h4% (
    echo %h1%%h2%%h3%%h4%
    pause>nul
))))))
goto :againCOPY

TOP

@echo off&setlocal enabledelayedexpansion
set /a shuzi=%random%%%1000+1
set /a shuzi1=%shuzi%*4-4
for /l %%a in (1,1,9) do (
    for /l %%b in (0,1,9) do (
        for /l %%c in (0,1,9) do (
            for /l %%d in (0,1,9) do (
                if not %%a==%%b if not %%a==%%c if not %%a==%%d if not %%b==%%c if not %%b==%%d if not %%c==%
%d (
   if not defined #%%a%%b%%c%%d (set /a n+=1&set #%%a%%b%%c%%d=1)
   if !n! geq !shuzi1! echo;%%a%%b%%c%%d&set /a t+=1
   if !t!==4 goto a
   )
      )
    )
  )
)
:a
pause>nulCOPY
这也算随机数了,就是值范围差不多,得改随机数。

TOP

@echo off
set d=0
setlocal enabledelayedexpansion
:lc
set/a a=%random%%%9000+1000
set p=n!a!
for /l %%a in (0,1,9) do (set q=!p:%%a=!
if !q! neq !p! (if "!q:~3,1!"=="" (goto lc)
)
)
set/a d+=1
echo;!a!
if %d% equ 4 (pause&exit)
goto lcCOPY
生成4个

TOP

回复 1# youxi01
@echo off
setlocal enabledelayedexpansion
for /l %%I in (1,1,4) do (
    call :CreateRandom
    echo !createRandom!
)
goto :EOF
:CreateRandom
set createRandom=%RANDOM%
if %createRandom% LEQ 999 (
    goto :CreateRandom
) else if %createRandom% LSS 10000 (
    call :IsFourSame %createRandom%
    if !isFourSame! EQU 0 (
        exit /b
    ) else (
        goto :CreateRandom
    )
) else (
    goto :CreateRandom
)
:IsFourSame
set value=%1
set ch1=%value:~,1%
set ch2=%value:~1,1%
if %ch1% EQU %ch2% set isFourSame=1 & exit /b
set ch3=%value:~2,1%
if %ch3% EQU %ch1% set isFourSame=1 & exit /b
if %ch3% EQU %ch2% set isFourSame=1 & exit /b
set ch4=%value:~3,1%
if %ch4% EQU %ch1% set isFourSame=1 & exit /b
if %ch4% EQU %ch2% set isFourSame=1 & exit /b
if %ch4% EQU %ch3% set isFourSame=1 & exit /b
set isFourSame=0
exit /bCOPY

TOP

@echo off
::设置四个变量a,b,c,d,产生四个1位的随机数组全四位数
:sui1
set /a i=%random% %% 10
if %i% neq 0 (set /a a=%i%)  else goto sui1
:sui2
set /a i=%random% %% 10
if %i% neq %a% (set /a b=%i%)  else goto sui2
:sui3
set /a i=%random% %% 10
if %i% neq %a% if %i% neq %b% (set /a c=%i%)   else goto sui3
:sui4
set /a i=%random% %% 10
if %i% neq %a% if %i% neq %b% if %i% neq %c% (set /a d=%i%)  else goto sui4
echo %a%%b%%c%%d%
pause >nulCOPY

TOP

对53楼做下改进
@echo off
::设置四个变量a,b,c,d,产生四个1位的随机数组全四位数
set /a i=%random% %% 9+1
set a=%i%
:sui2
set /a i=%random% %% 10
if %i% neq %a% (set /a b=%i%)  else goto sui2
:sui3
set /a i=%random% %% 10
if %i% neq %a% if %i% neq %b% (set /a c=%i%)   else goto sui3
:sui4
set /a i=%random% %% 10
if %i% neq %a% if %i% neq %b% if %i% neq %c% (set /a d=%i%)  else goto sui4
echo %a%%b%%c%%d%
pause >nulCOPY

TOP

返回列表