php 24点算法,php计算24点游戏_php

求: 三个5,一个1组成的数学表达式的结果=24,   结果:(5-1/5)*5=24

set_time_limit(0);

$values = array(1, 5, 5, 5);

$result = 24;

$list = array();

echo "

";

makeValue($values);

print_r($list);

function makeValue($values, $set=array())

{

http://www.gaodaima.com/46967.htmlphp计算24点游戏_php

$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

{

for($start=0; $start

{

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;

}

?>

欢迎大家阅读《php计算24点游戏_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

原创文章,转载请注明: 转载自搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值