PHP历理 做一个计算24点的功能
注意:有些计算24点的数字无法计算出来。不建议使用。
<?php
function calculate24($nums) {
$operators = ['+', '-', '*', '/'];
$combinations = [];
foreach ($nums as $num1) {
foreach ($nums as $num2) {
if ($num1!= $num2) {
foreach ($nums as $num3) {
if ($num1!= $num3 && $num2!= $num3) {
foreach ($nums as $num4) {
if ($num1!= $num4 && $num2!= $num4 && $num3!= $num4) {
foreach ($operators as $op1) {
foreach ($operators as $op2) {
foreach ($operators as $op3) {
$expression = "((($num1 $op1 $num2) $op2 $num3) $op3 $num4)";
$result = eval("return ". $expression. ";");
if ($result == 24) {
$combinations[] = $expression;
}
}
}
}
}
}
}
}
}
}
}
return $combinations;
}
$numbers = [4, 6, 8, 2];
$combinations = calculate24($numbers);
if (!empty($combinations)) {
echo "以下组合可以得到 24:<br>";
foreach ($combinations as $combination) {
echo $combination. "<br>";
}
} else {
echo "无法通过这些数字得到 24。";
}
?>
效果图:


浙公网安备 33010602011771号