请问楼主:是产生一个四位数都不重复的数,还是产生四个四位数都不重复的数??
思路:随机取出该数的千、百、十、个位的数字,然后判断该数是否跟前面取的数重复;还要判断是否已经取满四个数 | @echo off | | setlocal enabledelayedexpansion | | set str=0123456789 | | :main | | cls | | set var= | | :a | | set s1=!str:0=! | | set/a num=%random%%%9 | | set num1=!s1:~%num%,1! | | set s2=!str:%num1%=! | | set/a num=%random%%%9 | | set num2=!s2:~%num%,1! | | set s3=!s2:%num2%=! | | set/a num=%random%%%8 | | set num3=!s3:~%num%,1! | | set s4=!s3:%num3%=! | | set/a num=%random%%%7 | | set num4=!s4:~%num%,1! | | set num=!num1!!num2!!num3!!num4! | | set/a n=0 | | for %%a in (!var!) do ( | | set/a n+=1 | | if %%a equ !num! goto :a | | ) | | if !n!==4 (echo !var!&pause>nul&goto main) else (set var=!var! !num!&goto :a)COPY |
[ 本帖最后由 sjzong 于 2009-4-25 15:55 编辑 ] |