宣告:演算法由php大牛鳥哥所寫(
遊戲規則: 輸入任意4個數字,然後對其進行+-*/組合,所得數學表示式值等於24.
演算法思路:把每乙個數字看做乙個獨立的數學表示式,表示式之間加上標點符號組合成新表示式,一共組合4次,表示式之間的所有組合可以通過遞迴來實現.
**如下:
<?php/*** a 24 maker
* @version 1.0.0 */
class
twentyfourcal
private
function notice($mesg)
/*** 取得使用者輸入方法
*/public
function calculate($operants = array
())
catch (exception
$e)
$this->notice('can\'t compute!');
return
; }
/*** 求24點演算法php實現
*/private
function search($expressions, $level
) }
for ($i=0;$i
<$level;$i++)
if ($expright != 0)
$expressions[$i] = $expleft
;
$expressions[$j] = $expright
; }
}return
false
; }
function
__destruct() }/*
demo
*/$tf = new
twentyfourcal();
$tf->calculate( array(4,8,8,8) );
?>
經典遊戲,計算24點,簡單實現
問題 一副撲克牌,每張牌表示 1,13 之間的乙個整數,任意抽4張,用 運算,使得結果等於24。分析 4個數,4種運算,選擇乙個計算順序,選擇3個運算子,最多不過4k種組合,剪枝都省了,純暴力搜尋。記4個數為a,b,c,d,運算子為op1,op2,op3,那麼所有的計算組合,都可以表示 為以下兩種之...
24點紙牌遊戲計算器
includebool flag 判斷是否有解 function 兩個數之間的計算 param float x 第乙個數 float y 第二個數 int z 運算符號 return float 運算結果 float calculate float x,float y,int z function ...
C語言 紙牌計算24點小遊戲
c語言實現紙牌計算24點小遊戲 利用系統時間設定隨機種子生成4個隨機數,並對4個數字之間的運算次序以及運算符號進行列舉,從而計算判斷是否能得出24,以達到程式目的。程式主要功能已完成,目前還有部分細節未處理,待完成ing.對於 中的錯誤,懇請批評指正。遊戲描述 a 10 分別代表數字 1 10。j,...