Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Zahlenspiel 24-Algorithmus berechnen

PHP-Zahlenspiel 24-Algorithmus berechnen

黄舟
Freigeben: 2023-03-03 14:38:01
Original
1372 Leute haben es durchsucht

Algorithmusidee: Behandeln Sie jede Zahl als unabhängigen mathematischen Ausdruck, um einen neuen Ausdruck zu bilden. Alle Kombinationen zwischen Ausdrücken können erreicht werden.
Der Code ist wie folgt:

Der Code lautet wie folgt:


/** 
* Ein 24-Hersteller 
* @Version 1.0.0 
* @author laruence 
* @copyright (c) 2009 http://www.laruence.com 
*/
class TwentyFourCal {
public $needle = 24;
public $precision = '1e-6';
function TwentyFourCal() {
}
private function note($mesg) {
var_dump( $ mesg);
}
/**
* Benutzereingabemethode abrufen
*/
öffentliche Funktion berechne($operanten = array()) {
versuche {
$this->search($-Operatoren , 4);
} Catch (Ausnahme $e) {
$this->notice($e->getMessage());
$this - >notice('kann nicht berechnet werden!');
return;
}
/**
* Auf der Suche nach einer PHP-Implementierung des 24-Punkte-Algorithmus
*/
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]; ;
$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 . ')'; > ;search($expressions, $level - 1);
$expressions[$i] = '(' . $expRight . ' - ' . $expLeft . ')'; ( $expressions, $level - 1);
if ($expLeft != 0) {
$expressions[$i] = '(' . $expRight . ' / ' . $expLeft . ')';
$this->search($expressions, $level - 1);
}
if ($expRight != 0) {
$expressions[$i] = '(' . $ expLeft . ' / ' . $expRight 🎜 >$expressions[$j] ​​​​= $expRight;
}
}
return false;
}
function __destruct() {
}
}
/* demo */
$tf = new TwentyFourCal();
$tf->calculate( array(4,8,8,8) );


Das Obige ist der Inhalt des PHP-Algorithmus zur digitalen Spielberechnung 24. Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (www.php.cn)!




Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage