n = 总数
q = 步进
z = 起始位置- @echo off&setlocal enabledelayedexpansion
- set/a n=20,q=3,z=1,x=z-1
- for /l %%i in (%z% 1 !n!) do set "code=!code!,%%i"
- for /l %%i in (1 1 !x!) do set "code=!code!,%%i"
- set "code=!code!,"
- :lp
- for %%i in (!code!) do (
- set /a "m+=1,r=m %% q"
- if !r! equ 0 (
- set /a num+=1
- if !n! equ !num! goto end
- set "code=!code:,%%i,=,!"
- )
- )
- goto :lp
- :end
- set "s=!code:,=!"
- echo;!s!
- pause
复制代码 起始位置 1- @echo off&setlocal enabledelayedexpansion
- set/a n=20,s=1,q=3
- if %n% equ %s% set p=1
- :lp
- for /l %%i in (!s! 1 !n!) do (
- if not defined %%i (
- set/a m+=1,t=m%%q
- if !t! equ 0 (set %%i=%%i)else set/a str=%%i,p+=1,n=%%i,s=1
- if defined %%i echo,!%%i!
- )
- )
- if !p! gtr 1 set p=&goto lp
- echo 最后剩下的是原来的 !str! 号
- pause
复制代码
|