[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[游戏娱乐] 批处理算24点

http://www.cn-dos.net/forum/viewthread.php?tid=45488&fpage=1

经过各位找出缺点,我自己列出了多种特殊情况,基本搞定
已经允许小数,分数了。 例如 8/(3-8/3)=24 这个口算出现分数的。
                                         (3-8/3=1/3 ->8/(1/3)=8*3/1=24)
又或许.... 所以,
接下来能找到一个例子加减乘除算24 而此批处理又算不到的同学
我给+15分
  1. @echo off &setlocal enabledelayedexpansion
  2. title made by 523066680@www.cn-dos.net - 算24.bat
  3. ::::::::::::::::::::::::::::::::::::
  4. ::批处理算24.bat
  5. ::作者:523066680
  6. ::blog http://hi.baidu.com/523066680
  7. ::首发于:http://www.cn-dos.net/forum/viewthread.php?tid=45488&fpage=1
  8. ::::::::::::::::::::::::::::::::::::
  9. :input
  10. for /f "tokens=1 delims==" %%a in ('set') do (set "%%a=")
  11. set "pexit=&pause &cls &goto :input"
  12. set /a i=10,j=11,q=12,k=13
  13. set _+=-
  14. set _-=+
  15. set _*=/
  16. set _/=*
  17. echo, &echo, 算24.bat
  18. echo, &echo, 输入4个扑克牌的数字,[范围: 1 2 3 4 5 6 7 8 9 i j q k ]
  19. echo, &echo, 其中1-9代表1-9 , i代表10 , j代表11 , q代表12 , k代表13
  20. echo, &echo,请正确输入。 示例:  q q 1 2 (或者qq12)
  21. echo, &set /p "str=可以用空格隔开,也可以不用 [exit 退出]: "
  22. echo,
  23. if "%str%"=="" (cls &goto :input)
  24. if "%str%"=="exit" (exit)
  25. call :fo "%str: =%" ""
  26. if "%have%"=="" (echo, &echo,没有答案)
  27. echo,
  28. pause
  29. cls &goto :input
  30. :://////递进结合递归//////列举数字的排列组合//////
  31. :fo
  32. if %1=="" (
  33.     if not "!defx%~2!"=="def" (call :next %~2 &set defx%~2=def)
  34.     goto :eof
  35. )
  36. if not defined _%~1 (set _%~1=-1)
  37. set str=%~1
  38. :foa
  39.   set /a _%~1+=1,foa=_%~1,fob=foa+1
  40.   call :fo "!str:~0,%foa%!!str:~%fob%!" "%~2!str:~%foa%,1!"
  41.   set str=%~1
  42.   set /a foa=_%~1
  43. if not "!str:~%foa%,-1!"=="" (goto :foa)
  44. set "_%~1="
  45. goto :eof
  46. :://////组合运算符的所有排列形式//////对接收到的4个数字进行计算
  47. :next
  48. set num=%~1
  49. set /a na=%num:~0,1%,nb=%num:~1,1%,nc=%num:~2,1%,nd=%num:~3,1%
  50. set /a yn=nb*100/nc*nc,yn2=24*nb/nc*nc-24*nb
  51. set "do=::"
  52. if %yn% equ %nb%00 (set "do=")
  53. %do% set /a spea=(na*10-nb*10/nc)*nd,speb=(na*10+nb*10/nc)*nd
  54. %do% if %spea% equ 240 echo, [ %na% - %nb% / %nc% ] * %nd% = 24 &set have=have %pexit%
  55. %do% if %speb% equ 240 echo, [ %na% + %nb% / %nc% ] * %nd% = 24 &set have=have %pexit%
  56. set /a spec=(na-(nb*nc))*nd
  57. if %spec% equ 24 echo, [ %na% - %nb% * %nc% ] * %nd% = 24 &set have=have %pexit%
  58. if %yn2% equ 0 (set "do=") else (set "do=::")
  59. %do% set /a spef=24*nb/nc-24*nd,speg=-spef
  60. %do% if %spef% equ %na% echo, %na% / [ %nb% / %nc% - %nd% ] = 24  &set have=have %pexit%
  61. %do% if %speg% equ %na% echo, %na% / [ %nd% - %nb% / %nc% ] = 24  &set have=have %pexit%
  62. set "fu=+ - x /"
  63. for %%a in (%fu%) do (
  64. for %%b in (%fu%) do (
  65.   for %%c in (%fu%) do (
  66.   set "fa=%%a" &set "fb=%%b" &set "fc=%%c"
  67.   call :next-1 !fa:x=*! !fb:x=*! !fc:x=*!
  68.   )
  69. )
  70. )
  71. goto :eof
  72. :next-1
  73. set /a count=((na %1 nb) %2 nc) %3 nd
  74. set "do=::"
  75. if %count% equ 24 (set "do=")
  76. ::////通过逆运算检验答案,例如,批处理中 3/2 = 1 而 1*2 不等于 3。
  77. %do% set /a test=((count !_%3! nd) !_%2! nc) !_%1! nb
  78. %do% if %test% neq %na% (goto :next-2)
  79. if %count% equ 24 (echo, { [%na% %1 %nb%] %2 %nc% } %3 %nd% = 24 &set have=have %pexit%)
  80. :next-2
  81. set /a ca=na %1 nb,cb=nc %3 nd,pca=ca !_%1! nb,pcb=cb !_%3! nd
  82. if %cb% equ 0 (goto :eof)
  83. if %pca% neq %na% (goto :eof)
  84. if %pcb% neq %nc% (goto :eof)
  85. set /a count2=ca %2 cb,pcount2=count2 !_%2! cb
  86. if %pcount2% neq %ca% (goto :eof)
  87. if %count2% equ 24 (echo, [%na% %1 %nb%] %2 [%nc% %3 %nd%] = 24 &set have=have %pexit%)
复制代码

特别例子 qq81 (12 12 8 1)
8 8 3 3
6 5 4 1
6 4 3 1
5 5 5 1
6 6 5 5
6 4 k 3

TOP

各位拜拜喽,本人离开网络一个月,这期间谁见着我发帖随便扣分。

文章:

[讨论]Batch Rename's Bug
http://www.cn-dos.net/forum/viewthread.php?tid=45655&fpage=1

[讨论]TalkAboutString
http://www.cn-dos.net/forum/viewthread.php?tid=45654&fpage=1

[分享][讨论]段落重定向方式改进
http://www.cn-dos.net/forum/viewthread.php?tid=45409&fpage=1

[讨论]2次ping1 不等于 1次ping2
http://www.cn-dos.net/forum/viewthread.php?tid=45410&fpage=1

[分享]%var%代替语句执行
http://www.cn-dos.net/forum/viewthread.php?tid=45240&fpage=1

贪吃蛇思路解析 (23楼)
http://www.cn-dos.net/forum/viewthread.php?tid=43369&fpage=1

建立永久的畸形盘符
http://www.cn-dos.net/forum/viewthread.php?tid=41796&fpage=1


作品
[原创]批处理算24点
http://www.cn-dos.net/forum/viewthread.php?tid=45488&fpage=1

[原创]批处理脚本打包工具
http://www.cn-dos.net/forum/viewthread.php?tid=44620&fpage=1

[原创]批处理写大字效果--新年贺卡
http://www.cn-dos.net/forum/viewthread.php?tid=45411&fpage=1

[vbs]满1小时就关机
http://www.cn-dos.net/forum/viewthread.php?tid=45242&fpage=1

[分享]生成待编写的测试脚本
http://www.cn-dos.net/forum/viewthread.php?tid=45250&fpage=1

[原创]举出当前最小和最大的bat文件
http://www.cn-dos.net/forum/viewthread.php?tid=41517&fpage=1

动画特效:画圆、弹球、进度条、起落等
http://www.cn-dos.net/forum/viewthread.php?tid=42124&fpage=1

[原创]纯批处理版贪吃蛇
http://www.cn-dos.net/forum/viewthread.php?tid=43369&fpage=1

[原创]中间渐渐变大的圆
http://www.cn-dos.net/forum/viewthread.php?tid=44785&fpage=1

空间随机游动粒子+贪吃蛇初版
http://www.cn-dos.net/forum/viewthread.php?tid=43059&fpage=1

【视觉类】前进中的道路+飞机大炮
http://www.cn-dos.net/forum/viewthread.php?tid=41333&fpage=1

[原创]001,002,003式的批量重命名
http://www.cn-dos.net/forum/viewthread.php?tid=41643&fpage=1

【视觉类】从中间逐渐扩大再变小的方形框框+变色   
http://www.cn-dos.net/forum/viewthread.php?tid=40711&fpage=1

[数值计算]1-99内整数开根
http://www.cn-dos.net/forum/viewthread.php?tid=43046&fpage=1

时钟--斜体+毫秒(更新,减少cpu和闪烁)   
http://www.cn-dos.net/forum/viewthread.php?tid=41833&fpage=1

[原创]潜水数天,完成了自己满意的数码雨
http://www.cn-dos.net/forum/viewthread.php?tid=42113&fpage=1

【算是月贴】我尽量减少闪烁的批处理大时钟
http://www.cn-dos.net/forum/viewthread.php?tid=41757&fpage=1

[动画]一路小跑,第一集,跳!
http://www.cn-dos.net/forum/viewthread.php?tid=41981&fpage=1

做了一个自己满意的滚动字幕
http://www.cn-dos.net/forum/viewthread.php?tid=39780&fpage=1






水区:
[分享][转载]半截故事
http://www.cn-dos.net/forum/viewthread.php?tid=45521&fpage=1

光速矛盾
http://www.cn-dos.net/forum/viewthread.php?tid=44789&fpage=1

1=0.9999999……?  
http://www.cn-dos.net/forum/viewthread.php?tid=43058&fpage=1

TOP

本帖最后由 523066680 于 2019-1-29 19:52 编辑

nothing

TOP

我被菜了~  请看
http://tieba.baidu.com/f?kz=522864657
10楼

TOP

哇咔咔  我2008说要做贪吃蛇的时候 没人信
结果还是出来了,尽管做的粗糙,但毕竟打破了对做游戏心生畏惧的障碍。

    如今,敢于用批制作游戏的高手们蜂拥群起啊,相信batch ,明天会更牛!

TOP

返回列表