算24点游戏大家都玩过吧,那么怎么用程序来计算4个数的随意运算组合得到的结果是24呢?比如,5,5,5,1这四个数,如何凑才能得到结果为24?下面介绍一个很强悍的程序,可以将符合条件的所有组合列出来。

<?phpset_time_limit(0);
$values = array(5, 5, 5, 1);
$result = 24;$list = array();echo "<pre>";
makeValue($values);
print_r($list);function makeValue($values, $set=array())
{ $words = array("+", "-", "*", "/"); if(sizeof($values)==1) { $set[] = array_shift($values); return makeSpecial($set); } foreach($values as $key=>$value) { $tmpValues = $values; unset($tmpValues[$key]); foreach($words as $word) { makeValue($tmpValues, array_merge($set, array($value, $word))); } }
} function makeSpecial($set)
{ $size = sizeof($set);if($size<=3 || !in_array("/", $set) && !in_array("*", $set)) { return makeResult($set); }for($len=3; $len<$size-1; $len+=2) { for($start=0; $start<$size-1; $start+=2) { if(!($set[$start-1]=="*" || $set[$start-1]=="/" || $set[$start+$len]=="*" || $set[$start+$len]=="/")) continue; $subSet = array_slice($set, $start, $len); if(!in_array("+", $subSet) && !in_array("-", $subSet)) continue; $tmpSet = $set; array_splice($tmpSet, $start, $len-1); $tmpSet[$start] = "(".implode("", $subSet).")"; makeSpecial($tmpSet); } }
}function makeResult($set)
{ global $result, $list; $str = implode("", $set); @eval("\$num=$str;"); if($num==$result && !in_array($str, $list)) $list[] = $str;
}?>

程序运行结果为:

Array
([0] => (5-1/5)*5[1] => 5*(5-1/5)
)

一个强悍的算24点游戏的PHP程序相关推荐

  1. html 计算24点游戏,0048 JavaScript编程实现算24点游戏

    原标题:0048 JavaScript编程实现算24点游戏 上节课在网页上使用Java实现了根据输入日期计算星座的程序. 这节课来做一个算24点游戏,主要是练习使用Java来控制网页元素. 程序设计思 ...

  2. 计算机二十四点游戏,比比速算24点游戏

    电脑扑克牌游戏试运行在PC端的智力小游戏,这次带来的是比比速算24点游戏,学习纸牌的同时还能不断提高你的头脑思维能力,让你的智商一天比一天更高.比比速算24点游戏设置了一级高手.二级能手.三级好手.四 ...

  3. 24点游戏java代码 中国开源社区_编程实现一个有GUI的24点游戏

    24点是指从去除大小王后的52张扑克牌中任取 4 张,通过「加.减.乘.除」四则运算得到 24.是一个历史悠久的趣味小游戏. <数据化管理>书中在测试数据敏感度章节提到一个细节" ...

  4. 推荐一个和孩子玩24点游戏的工具:益乐24点

    最近完成了一个小工具,可以帮助家长们和孩子一起玩24点游戏,要封版本了,记录如下: 所有工作包括: 自动求24点算法 ,采用了递归算法 一个网站,不多说, 请直接看内容:益乐24点 一个微信小程序 微 ...

  5. 用matlab算24点小游戏,24点游戏的Matlab程序

    function GUI_games24 S.fh = figure('units','pixels',... 'position',[500 500 800 200],... 'menubar',' ...

  6. 24点游戏c语言程序代码,C语言实现24点游戏源代码

    本文实例为大家分享了C语言实现24点游戏的具体代码,供大家参考,具体内容如下 将算法实现改成C语言,并可在linux服务器上运行.同时修改为可显示所有结果. 注:如果传参重复,如4,4,7,7这样,会 ...

  7. Java:做一个自动生成24点游戏,并能自主解决的程序

    我们首先利用random函数,随机从1-13中挑选数字,挑选四次. public static void main(String[] args) {Random r = new Random();in ...

  8. python游戏开发步骤_详解Python GUI版24点游戏制作过程

    本文作者为浙江温州永嘉县教师发展中心应根球老师,电子邮箱:ycicada@163.com. 传统用扑克牌算24点游戏用于小学低中段学生训练四则运算效果不错,也可用于防止老年痴呆.本项目模拟传统扑克24 ...

  9. 用python代替人脑运算24点游戏

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:老方玩编程 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...

  10. 详解Python GUI版24点游戏制作过程

    本文作者为浙江温州永嘉县教师发展中心应根球老师,电子邮箱:ycicada@163.com. 传统用扑克牌算24点游戏用于小学低中段学生训练四则运算效果不错,也可用于防止老年痴呆.本项目模拟传统扑克24 ...

最新文章

  1. python使用selenium
  2. 生死6小时!!!!!!!!!!!!!!!!1
  3. 从 +new Date 说起,Javascript的一元操作符
  4. 拜登政府撤销对Tik Tok和Wechat禁令 启动对外国应用审查
  5. (六)为时装设计生成训练和运行GAN
  6. android 短信位置,浅析Android手机卫士之手机实现短信指令获取位置
  7. C# sql参数拼接时,防止sql注入
  8. Layer报错:TypeError n.sort is not a function
  9. 计算机控制技术毕业论文题目,计算机控制方面论文选题 计算机控制论文题目怎样定...
  10. C# 调用讯飞实时语音转写
  11. 内连接、左外连接与右外连接的区别及作用介绍
  12. [Unity][摄像机视角]多个摄像机之间切换
  13. 计算机主板常见故障检修,主板常见故障检查与维修
  14. 我的开源项目从0到1024的过程
  15. 模糊PID控制器MATLAB仿真探讨,模糊PID控制器MATLAB仿真探讨
  16. 标准解读系列之四:智慧道路的分级标准是什么?
  17. html怎么设置一个表格的宽度一样吗,html表格单元格大小 怎样在html中设置所有表格大小一样...
  18. Java实现hanoi塔
  19. 面试攻略java提问
  20. python中的汉字编码(转载,已经注明转载地址)

热门文章

  1. 在Harvester上安装windows sever 2012 r2
  2. JS的unshift()和shift()
  3. 建立“顾客购买图书”的活动图(使用泳道)
  4. flash AS3常用公式
  5. 构建红图注册到蓝图中
  6. 用低维向高维“穿梭”的想法来理解高维空间
  7. Idea设置全白色 背景
  8. mysql中的广播是什么意思_Android中的广播、服务、数据库、通知、包等术语的原理和介绍(图解)...
  9. 系统设置中 语言设置,中文或者英文
  10. 关于“Threats to Validity”的介绍