gpt4 book ai didi

php - php中阶乘的排列

转载 作者:行者123 更新时间:2023-12-04 22:00:51 25 4
gpt4 key购买 nike

不知道怎么解释。但也许下面的例子会让你明白我的问题是什么。

示例:

我有一个包含 3 个元素的数组。

$elements = array( 'A', 'B', 'C' );

排列将是 3 in 3. 所以结果是:

A-B-C ; A-C-B ; B-A-C ; B-C-A ; C-A-B; C-B-A

我不想要 3 中的 2 或 3 中的 1 的任何排列,就像您在示例中看到的那样,只有 3 中的 3。因此,如果我在一个数组中有 4 个元素,则排列为 4 in 4,依此类推...

(我认为排列的数量是 3!= 1*2*3 = 6 个排列,4!= 1*2*3*4 = 24 个排列...这就是我称之为阶乘排列的原因。)

如果还有其他类似我的问题的问答,请告诉我

最佳答案

使用递归函数:

function permutations($elements) {
if(count($elements)<2) return $elements;

$newperms= array();
foreach($elements as $key=>$element) {
$newelements= $elements;
unset($newelements[$key]);

$perms= permutations($newelements);
foreach($perms as $perm) {
$newperms[]= $element."-".$perm;
}
}
return $newperms;
}

没有测试它,所以仍然有适合你的工作;-)

关于php - php中阶乘的排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14997481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com