PHP code example of lishack / combinatorics-php
1. Go to this page and download the library: Download lishack/combinatorics-php library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
lishack / combinatorics-php example snippets
use Lishack\Combinatorics\Combinatorics;
$result = Combinatorics::factorial(10);
echo $result;
$result = Combinatorics::binomial(5, 2);
echo $result;
$result = Combinatorics::permutationsCount(5);
echo $result;
$result = Combinatorics::variationsCount(5, 3);
echo $result;
$result = Combinatorics::variationsWithRepetitionCount(5, 3);
echo $result;
$result = Combinatorics::combinationsCount(52, 5);
echo $result;
$result = Combinatorics::combinationsWithRepetitionCount(5, 3);
echo $result;
use Lishack\Combinatorics\Combinatorics;
foreach (Combinatorics::combinations(['A', 'B', 'C', 'D'], 2) as $combination) {
print_r($combination);
}
foreach (Combinatorics::combinationsWithRepetition(['A', 'B', 'C'], 2) as $combination) {
print_r($combination);
}
foreach (Combinatorics::permutations(['A', 'B', 'C']) as $permutation) {
print_r($permutation);
}
foreach (Combinatorics::variations(['A', 'B', 'C'], 2) as $variation) {
print_r($variation);
}
foreach (Combinatorics::variationsWithRepetition(['A', 'B'], 2) as $variation) {
print_r($variation);
}
foreach (Combinatorics::powerSet(['A', 'B', 'C']) as $subset) {
print_r($subset);
}
$sets = [
['Red', 'Blue'],
['S', 'M'],
];
foreach (Combinatorics::cartesianProduct($sets) as $product) {
print_r($product);
}
use Lishack\Combinatorics\Combinatorics;
use Lishack\Combinatorics\Enum\RankingOrder;
$rank = Combinatorics::combinationRank(
universe: ['A', 'B', 'C', 'D'],
combination: ['B', 'D'],
order: RankingOrder::Lexicographic,
);
echo $rank;
$rank = Combinatorics::combinationRank(
universe: ['A', 'B', 'C', 'D'],
combination: ['B', 'D'],
order: RankingOrder::Colexicographic,
);
echo $rank;
$combination = Combinatorics::combinationUnrank(
universe: ['A', 'B', 'C', 'D'],
rank: 4,
k: 2,
);
print_r($combination);
$users = [
new User(10, 'Alice'),
new User(20, 'Bob'),
new User(30, 'Charlie'),
new User(40, 'David'),
];
$rank = Combinatorics::combinationRank(
universe: $users,
combination: [$users[1], $users[3]],
keySelector: static fn (User $user): int => $user->id,
);
echo $rank;
bash
composer