GL1TCH3D

icarus no for complete

Jan 13th, 2016
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. @echo off
  2. setlocal enabledelayedexpansion
  3.  
  4. Title GL1TCH3D Challenge Submission for Icarus Lives' Challenge
  5. :top
  6. set /p number=What positive number would you like to start with?
  7. set num=%number: =%
  8. if not %num% GTR 0 cls&goto top
  9.  
  10. ::If your number is even, divide it by 2.
  11. ::If your number is odd, multiply it by 3, and add 1.
  12. ::Challenge ends when the script hits 1.
  13.  
  14. ::The process to be used for determining even or odd is that batch
  15.  
  16. always rounds down.
  17. ::A number divided by two will be compared to the original number
  18.  
  19. added with 3, divided by 2 then subtracted by 1.
  20. ::An odd number will go up by 1 while an even number will only go up
  21.  
  22. by 0 after subtracting 1.
  23. set step0=%num%
  24. set stepnum=1
  25. :main
  26. set /a before=%stepnum% - 1
  27. set step%stepnum%=!step%before%!
  28. set /a tempnum1=!step%before%! / 2
  29. set /a tempnum2=!step%before%! + 3
  30. set /a tempnum2=!tempnum2! / 2
  31. set /a tempnum2=!tempnum2! - 1
  32. if !tempnum1!==!tempnum2! set /a step%stepnum%=!step%stepnum%! / 2
  33. if not !tempnum1!==!tempnum2! (
  34. set /a step%stepnum%=!step%stepnum%! * 3
  35. set /a step%stepnum%=!step%stepnum%! + 1
  36. )
  37.  
  38. if !step%stepnum%!==1 goto end
  39. set /a stepnum+=1
  40. goto main
  41.  
  42. :end
  43. echo Your chosen number = %num%
  44. echo The number of steps = %stepnum%
  45. set listnum=0
  46. set list=%num%
  47. :list
  48. set /a listnum+=1
  49. if %listnum% GTR %stepnum% goto finale
  50. set list=!list!, !step%listnum%!
  51.  
  52.  
  53. goto list
  54. :finale
  55. echo All steps = %list%
  56.  
  57. pause > nul
Advertisement
Add Comment
Please, Sign In to add comment