[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
很久以前网上下载的批处理算24点的脚本,忘记出处了。
  1. @echo off
  2. setlocal enableextensions enabledelayedexpansion
  3. title 批处理算24点
  4. echo 批处理算24点&echo.
  5. :loop
  6. set /p "n=输入四个数用空格分开: "
  7. set /a "lzn=0"
  8. for %%i in (!n!) do set /a "lzn+=1"&set /a "lz!lzn!z=%%i,lz!lzn!m=1,lz!lzn!s=%%i"
  9. call:liuzhaonan11 lz
  10. if not errorlevel 1 echo 结果: 没有答案
  11. goto loop
  12. 原理说明:使用有理数进行计算,选择算式中最先结合的两数和它们之间的运算,并递归.
  13. :liuzhaonan11
  14. setlocal
  15. set "f1=+"&set "f2=-"&set "f3=*"&set "f4=/"
  16. for /l %%i in (1,1,!%1n!) do for /l %%j in (1,1,!%1n!) do if %%i neq %%j (
  17. for /l %%k in (1,1,4) do (
  18. setlocal
  19. if %%k leq 2 set /a "z=%1%%jz*%1%%im!f%%k!%1%%jm*%1%%iz,m=%1%%jm*%1%%im"
  20. if %%k equ 3 set /a "z=%1%%jz*%1%%iz,m=%1%%jm*%1%%im"
  21. if %%k equ 4 set /a "z=%1%%jz*%1%%im,m=%1%%jm*%1%%iz"
  22. if !%1n! equ 2 (
  23. set /a "t=!z!-24*!m!"
  24. if !t! equ 0 if !m! neq 0 echo 结果: !%1%%js! !f%%k! !%1%%is! = 24&exit /b 1
  25. ) else (
  26. set "s=(!%1%%js! !f%%k! !%1%%is!)"&set /a "n=0"
  27. for /l %%l in (1,1,!%1n!) do if %%l neq %%i if %%l neq %%j (
  28. set /a "n+=1"&set "%1!n!z=!%1%%lz!"&set "%1!n!m=!%1%%lm!"&set "%1!n!s=!%1%%ls!"
  29. )
  30. set /a "n+=1"&set "%1!n!z=!z!"&set "%1!n!m=!m!"&set "%1!n!s=!s!"
  31. set "%1n=!n!"&call%0 %1
  32. if errorlevel 1 exit /b 1
  33. )
  34. endlocal
  35. )
  36. )
  37. exit /b 0
复制代码
1

评分人数

    • GNGW: 乐于助人技术 + 1

TOP

有可能脚本出自本论坛,反正我是看不懂。
1

评分人数

    • GNGW: 乐于助人技术 + 1

TOP

返回列表