Anonymous user
Permutations: Difference between revisions
→{{header|Batch File}}
m (added whitespace before the TOC (table of contents), added a ;Task: (bold) header.) |
|||
Line 879:
---------------------------</pre>
=={{header|Batch File}}==
Recursive permutation generator.
<lang Batch File>
@echo off
setlocal enabledelayedexpansion
set arr=ABCD
set /a n=4
:: echo !arr!
call :permu %n% arr
goto:eof
:permu
setlocal
set /a num=%1-1▼
if %1 equ 1 call echo(!%2! & exit /b
for /L %%c in (1,1,%num%) do (▼
▲set /a "num=%1-1,n2=num-1"
set arr=!%2!
set /a n1="%1%%2"▼
call:permu !num! arr
if !n1! neq 0 (call :swapit %1 1 ) else (call :swapit %1 %%c)▼
)
endlocal & set %2=%arr%
exit /b
:swapit
setlocal
set
set
set temp2=!arr:~%~2,1!
set arr=!arr:%temp1%=@!
set arr=!arr:%temp2%=%temp1%!
set arr=!arr:@=%temp2%!
:: echo %1 %2 !%~3! !arr!
endlocal & set %3=%arr%
exit /b
</lang>
{{out}}
|