激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php數字游戲 計算24算法

php數字游戲 計算24算法

2020-01-02 16:26php教程網 PHP教程

輸入任意4個數字,然后對其進行+-*/組合,所得數學表達式值等于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) ); 
?> 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲成人黄色片 | 久久av免费观看 | 成人福利电影在线观看 | 成人 日韩 | 一本色道久久综合狠狠躁篇适合什么人看 | 久久久久久久久久久久久久久久久久 | 国产精品久久久久久婷婷天堂 | 国产高潮好爽好大受不了了 | 91天堂国产在线 | 久草在线高清视频 | 久久久成人免费视频 | 久久久久久久久久久影视 | 欧美 videos粗暴 | 99欧美精品 | 欧美精品成人一区二区三区四区 | 国产视频在线观看免费 | 精品久久久一二三区播放播放播放视频 | 欧美一级三级在线观看 | 欧美亚洲综合网 | 国产在线精品一区二区三区 | 免费观看一区二区三区视频 | 久久国产亚洲精品 | 国产一区免费 | 免费国产自久久久久三四区久久 | 国产在线第一区 | 国产成人高潮免费观看精品 | 成人9禁啪啪无遮挡免费 | 久久蜜桃香蕉精品一区二区三区 | 色交视频| 今井夏帆av一区二区 | 中文字幕爱爱视频 | 美女污污视频在线观看 | 97zyz成人免费视频 | 亚洲第一成人久久网站 | 国产精品一区二区三区在线看 | 极品国产91在线网站 | 成人午夜一区 | 思思久而久而蕉人 | 久久久久久久久国产精品 | 精品在线视频观看 | 天堂热 |