Advertisement
Guest User

Untitled

a guest
Feb 6th, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. @echo off & setlocal enableDelayedExpansion
  2.  
  3. set "n=5"
  4. set "k=2"
  5. set "s=1"
  6. echo n=5 k=2 s=1
  7. call :josephus
  8.  
  9. echo.
  10.  
  11. set "n=41"
  12. set "k=3"
  13. set "s=1"
  14. echo n=41 k=3 s=1
  15. call :josephus
  16.  
  17. echo.
  18.  
  19. set "n=41"
  20. set "k=3"
  21. set "s=3"
  22. echo n=41 k=3 s=3
  23. call :josephus
  24.  
  25. pause > nul
  26. exit
  27.  
  28. :josephus
  29. set "surv-list="
  30. for /l %%a in (!s!,-1,1) do (
  31.     set /a "m=%%a - 1"
  32.    
  33.     for /l %%b in (%%a,1,!n!) do set /a "m=(m + k) %% %%b"
  34.    
  35.     if defined surv-list ( set "surv-list=!surv-list! !m!" ) else set "surv-list=!m!"
  36. )
  37. echo Survivor(s): !surv-list!
  38. goto :eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement