本帖最后由 neorobin 于 2012-3-28 17:09 编辑
借鉴 batman 的差值技巧:- @echo off & setlocal enabledelayedexpansion
- > digit.txt (for /l %%i in (10000 1 19999) do (
- (set s=%%i)& set /a w=!s:~1,1!,x=!s:~2,1!,y=!s:~3,1!,z=!s:~4,1!,w-=z,x-=z,y-=z,t=5
- if !s:~-4!==8888 (set "t=1"
- ) else if !s:~-3!==888 (set "t=2"
- ) else for %%s in (000 -3-2-1 321) do if !w!!x!!y!==%%s set "t=2"
- if !t!==5 if !s:~-2!==88 (set t=3) else for %%s in (00 21 -2-1) do if !x!!y!==%%s set "t=3"
- if !t!==5 for %%s in (110 -1-10 101 -10-1) do if !w!!x!!y!==%%s set "t=3"
- if !t!==5 if !s:~-1!==8 (set t=4) else if !y!==0 (set t=4) else (
- for %%s in (011 0-1-1) do if !w!!x!!y!==%%s set t=4)
- echo !t! !s:~-4!
- ) )
- start "" digit.txt
复制代码 差值基准字符取最后一个字符, 该字符没必要在匹配比较式中出现
0000 ~ 9999 共 10000 个序列:
1 类: 1
2 类: 32
3 类: 351
4 类: 1698
5 类: 7918 |