我看到这个算法将采用数字或单词并找到所有可能的组合
我正在使用它,但它不会返回所有"真正的"组合.
PHP:
<?php
require_once 'Math/Combinatorics.php';
$words = array('cat', 'dog', 'fish');
$combinatorics = new Math_Combinatorics;
foreach($combinatorics->permutations($words, 2) as $p) {
echo join(' ', $p), "\n";
}
?>
Run Code Online (Sandbox Code Playgroud)
它返回:
cat dog
dog cat
cat fish
fish cat
dog fish
fish dog
Run Code Online (Sandbox Code Playgroud)
但这些都不是真正的组合,所有真正的组合也包括这些:
cat cat
dog dog
fish fish
Run Code Online (Sandbox Code Playgroud)
这就是我需要的,获得所有真实组合的方法:
cat dog
dog cat
cat fish
fish cat
dog fish
fish dog
cat cat
dog dog
fish fish
Run Code Online (Sandbox Code Playgroud) php algorithm combinations combinatorics discrete-mathematics