一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php數字游戲 計算24算法

算法思路:把每一個數字看做一個獨立的數學表達式,表達式之間加上標點符號組合成新表達式,一共組合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) );
?>

php技術php數字游戲 計算24算法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 色图综合| 中文字幕一区二区三区四区 | 欧美人与物另类 | 国产成人亚洲影视在线 | 色视频网站在线观看 | 亚洲伦理一区二区三区 | 福利片午夜 | 美女张开腿让男人桶爽免费看 | 亚洲一卡2卡4卡5卡6卡在线99 | 成人午夜精品视频在线观看 | 欧美成人tv | 日韩精品中文字幕一区三区 | 国产成人涩涩涩视频在线观看 | 欧美三级黄 | 91精品国产高清久久久久久 | 色在线视频播放 | 久久婷婷五夜综合色频 | 国产精品黄大片观看 | 免费无遮挡毛片 | 国产精品网红女主播久久久 | 精品日本一区二区三区在线观看 | 中文字幕一区二区在线播放 | 看全色黄大色黄女视频 | 免费人成a大片在线观看动漫 | 成人精品国产亚洲欧洲 | 护士精品一区二区三区 | 色综合一本 | 日本在线加勒比 | 狠狠综合久久综合88亚洲日本 | 久久精品亚洲精品国产色婷 | 国产区精品一区二区不卡中文 | 在线a视频网站 | 91网视频在线观看 | 美国毛片亚洲社区在线观看 | 狠狠久久综合 | vvvv98国产成人综合青青 | 中文字幕一区二区区免 | 色综合久久88色综合天天 | 亚洲欧美自拍一区 | 91九色视频在线观看 | 亚洲影视精品 |