[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off&title 数字黑洞
  2. ::code by garyng@vista sp2
  3. :main
  4. setlocal enabledelayedexpansion
  5. if exist re.txt del /q re.txt
  6. if exist re1.txt del /q re1.txt
  7. if exist re2.txt del /q re2.txt
  8. if exist re3.txt del /q re3.txt
  9. cls
  10. set a=&set num=1&set var=
  11. set /p "var=请输入小于2147483647数字:"
  12. echo %var%|findstr /b "[0-9]">nul||goto main
  13. if "!var:~0,1!" equ "0" for /f "delims=0 tokens=*" %%c in ('echo !var!') do (set var=%%c&cls)
  14. if !var! GEQ 2147483647 echo 数目太大啦~小于2147483647&ping -n 3 127.1>nul 2>nul&goto main
  15. if !var! equ 0 echo 0减0还是0~&ping -n 3 127.1>nul 2>nul&goto main
  16. :loop
  17. for /l %%a in (0,1,15) do if "!var:~%%a,1!" equ "" set a=%%a&goto leng
  18. :leng
  19. for /l %%i in (0 1 %a%) do (
  20. set ch=!var:~%%i,1!
  21. set pai%%i=!ch!
  22. if not "!pai%%i!"=="" set /p=!pai%%i! <nul >>re.txt
  23. )
  24. (set /p str=)<re.txt
  25. del /q re.txt
  26. if !num! equ 1 if !a! GEQ 5 echo 4位数以上的数目重复的不是一个数目,而是一个数组!!
  27. SETLOCAL ENABLEEXTENSIONS
  28. for %%b in (%str%) do (
  29.     set str=0000000000%%b
  30.     set .!str:~-10! !random!=%%b
  31. )
  32. for /f "tokens=2 delims==" %%b in ('set .') do set/p=%%b<nul>>re1.txt
  33. endlocal
  34. (set /p re1=)<re1.txt
  35. del /q re1.txt
  36. set /a a-=1
  37. for /l %%a in (%a% -1 0) do call set /p=%%re1:~%%a,1%%<nul>>re2.txt
  38. (set /p re2=)<re2.txt
  39. del /q re2.txt
  40. if "!re1:~0,1!" equ "0" for /f "delims=0 tokens=*" %%d in ('echo !re1!') do set re1=%%d
  41. if /i "%re1%" GTR "%re2%" (set /a minus=!re1!-!re2!) else (set /a minus=!re2!-!re1!)
  42. if !minus! equ 0 echo 变0了~还减啥啊?&echo 按任意键重来...&pause>nul&endlocal&goto main
  43. echo !minus!>>re3.txt
  44. set /a line=!num!-1
  45. (for /l %%e in (1 1 %line%) do set /p re3=)<re3.txt
  46. if "!minus!" equ "!re3!" (goto repeated) else (echo 第!num!次:!minus!)
  47. set var=!minus!&set /a num+=1&set a=&set re1=&set re2=&set str=&set minus=&set ch=
  48. goto loop
  49. :repeated
  50. echo ----------&echo 第!num!次:这次的数字!minus!与上次相同~&echo 如果继续下去的话,会一直是同样的数目~&echo 这数字已经“掉进”黑洞里啦~&echo 按任意键重来...&pause>nul&endlocal&goto main
复制代码
很久以前写的。

TOP

返回列表