溫馨提示×

PHP遞歸函數(shù)解決數(shù)字游戲和謎題

PHP
小樊
84
2024-04-26 20:32:52
欄目: 編程語言

在PHP中,我們可以使用遞歸函數(shù)來解決數(shù)字游戲和謎題。以下是一個示例代碼,該代碼可以用來解決數(shù)字游戲和謎題問題:

function solvePuzzle($numbers, $target, $current = 0, $expression = '') {
    if ($current == count($numbers)) {
        if (eval("return $expression;") == $target) {
            echo $expression . " = " . $target . PHP_EOL;
        }
        return;
    }

    $number = $numbers[$current];
    $current++;

    solvePuzzle($numbers, $target, $current, $expression . $number);
    solvePuzzle($numbers, $target, $current, $expression . "+" . $number);
    solvePuzzle($numbers, $target, $current, $expression . "-" . $number);
    solvePuzzle($numbers, $target, $current, $expression . "*" . $number);
    solvePuzzle($numbers, $target, $current, $expression . "/" . $number);
}

$numbers = [2, 3, 4];
$target = 24;

solvePuzzle($numbers, $target);

在這個示例中,我們定義了一個solvePuzzle函數(shù),該函數(shù)接受一個數(shù)字?jǐn)?shù)組$numbers,目標(biāo)值$target,當(dāng)前索引$current和當(dāng)前表達(dá)式$expression作為參數(shù)。函數(shù)通過遞歸方式嘗試所有可能的計算組合,并檢查是否等于目標(biāo)值。如果找到符合條件的表達(dá)式,則輸出表達(dá)式和目標(biāo)值。

你可以根據(jù)需要修改數(shù)字?jǐn)?shù)組和目標(biāo)值來解決不同的數(shù)字游戲和謎題問題。

0