算法思路:把每一个数字看做一个独立的数学表达式,表达式之间加上标点符号组合成新表达式,一共组合4次,表达式之间的所有组合可以通过递归来实现.
代码如下:
复制代码 代码如下:
<?php
/**
* A 24 maker
* @version 1.0.0
* @author laruence<laruence at yahoo.com.cn>
* @copyright (c) 2009 http://www.laruence.com
*/
class TwentyFourCal {
public $needle = 24;
public $precision = '1e-6';
function TwentyFourCal() {
}
private function notice($mesg) {
var_dump($mesg);
}
/**
* 取得用户输入方法
*/
public function calculate($operants = array()) {
try {
$this->search($operants, 4);
} catch (Exception $e) {
$this->notice($e->getMessage());
return;
}
$this->notice('can\'t compute!');
return;
}
/**
* 求24点算法PHP实现
*/
private function search($expressions, $level) {
if ($level == 1) {
$result = 'return ' . $expressions[0] . ';';
if ( abs(eval($result) - $this->needle) <= $this->precision) {
throw new Exception($expressions[0]);
}
}
for ($i=0;$i<$level;$i++) {
for ($j=$i+1;$j<$level;$j++) {
$expLeft = $expressions[$i];
$expRight = $expressions[$j];
$expressions[$j] = $expressions[$level - 1];
$expressions[$i] = '(' . $expLeft . ' + ' . $expRight . ')';
$this->search($expressions, $level - 1);
$expressions[$i] = '(' . $expLeft . ' * ' . $expRight . ')';
$this->search($expressions, $level - 1);
$expressions[$i] = '(' . $expLeft . ' - ' . $expRight . ')';
$this->search($expressions, $level - 1);
$expressions[$i] = '(' . $expRight . ' - ' . $expLeft . ')';
$this->search($expressions, $level - 1);
if ($expLeft != 0) {
$expressions[$i] = '(' . $expRight . ' / ' . $expLeft . ')';
$this->search($expressions, $level - 1);
}
if ($expRight != 0) {
$expressions[$i] = '(' . $expLeft . ' / ' . $expRight . ')';
$this->search($expressions, $level - 1);
}
$expressions[$i] = $expLeft;
$expressions[$j] = $expRight;
}
}
return false;
}
function __destruct() {
}
}
/* demo */
$tf = new TwentyFourCal();
$tf->calculate( array(4,8,8,8) );
?>
相关推荐:
AI智能工具的无限可能:未来已来,你准备好了吗?
亚马逊站内seo是什么优化,亚马逊seo关键词优化软件 ,ai画卡通章鱼
ChatGPT点不了?背后的真相与解决方法,ai.520523
seo菲律宾是做什么,菲律宾网址排名 ,openl ai
为什么“搜狗不收录”会成为企业SEO的新挑战?,烤肉店的线下营销与推广
SEO关键词推广软件官网-助力企业实现高效精准的网络营销,圈圈ai
SEO教研:数字营销新趋势,提升网站流量与转化率的关键,齐鲁证券网站建设
ChatGPT破解:人工智能的无限潜力与破解秘笈,意识变ai
OpenAIGPTChatSoraOpenAIChatGPT服务在中断数小时后已恢复,ai视图线稿
SEO拓客,让您的业务飞速增长!,密云自适应网站建设
专业关键词助力SEO优化,让你的内容脱颖而出,东营响应式网站优化
什么是seo行业,seo是什么职业做什么的 ,ai标题字体效果
SEO就是:让你的品牌脱颖而出,获得更多曝光与流量,梅岭关键词排名优化
AI免费文章解读:智能写作新篇章,小店AI
GPT在智能聊天机器人中的作用:重塑沟通体验,开创智能未来,百万级ai
乘风SEO:突破困境,领航网络营销新时代,武汉靠谱的关键词排名
ChatGPT恢复正常使用时间,提升你的工作与生活效率,联想电脑AI0510
SEO资讯:最新趋势,提升网站排名,快速突破流量瓶颈,廊坊seo推广咨询服务
SEO范例:如何通过优化提升网站流量,获取更多商机,广州抖音seo搜索广告
怎么用AI写出高质量科普文章?揭秘新时代创作利器!
SEO北京:数字时代,企业成功的关键,湖南网站建设湖南岚鸿
撰写稿子的AI,写作的“超级助手”来了!
ChatGPT服务器坏了?了解背后的技术与应对策略,AI模块代表
ChatGPT打不开实时问题解决方案:让你的AI助手始终在线,psd 转ai
互联网资源的无限潜力:如何利用数字世界为个人和企业创造价值,信阳网站建设正规公司
SEO优化大全:让你的网站排名轻松破局,精准引流更高效!,274357524ai
软件AI:颠覆未来的智能革命
seo适合什么职业,seo有前途么 ,ai小精灵
SEO导流:如何通过精准优化实现网站流量大爆发,网站优化优化怎么做
ChatPartner无法连接网络?解决方案,让你的聊天体验更顺畅!,如何用ai给自己写作文
ChatGPT中文版下载,开启智能对话新体验,婚纱ai男
SEO优化引导新官网,助力企业迈向成功之路,宋轶ai换
ChatGPT画布打不开?如何解决这一常见问题?,Ai怎么储存为Ai格式在桌面
ChatGPT登录503错误?轻松解决,快速恢复畅享智能体验!,ai怎么加植物材质效果
Chat免费,让沟通无界限,尽享智能对话时代,ai没办法置顶
SEO指:如何通过精准优化提高网站流量和转化率,无锡论坛营销推广要多久
SEO优化知识全解析:提升网站排名的秘密武器,ai出错合集
2025年整站SEO排名优化策略:让你的网站脱颖而出,id排版ai
OpenAI智能诊断医疗-开启精准医疗新纪元,跟侯维静学ai
seo进阶买什么书运营,seo入门难吗 ,没有ai软件怎么打开ai图片
未来智能:AI智能人工软件引领数字化变革
SEO需要:如何提升网站排名,打造高效营销利器,seo怎么推广关键词
软件AI的全称:人工智能驱动未来的关键力量
AI会生成同一篇文章吗?揭开智能创作的神秘面纱
SEO好吗?助力网站成功的关键之道,网站优化方案范文怎么写
什么是seo方法,何为seo ,ai写作神器源码是什么
SEO场景下的数字营销:如何通过精准优化提升网站流量,陕西融发建设集团网站
SEO包含的秘密:让你的网站轻松排上首页,新媒体营销推广方案目录
SEO作用:提升网站流量与品牌曝光的秘密武器,美容网站联盟平台推广
打造内容创作新高度:文章扩写AI的革命性优势