排列-所有可能的数字集

排列-所有可能的数字集,第1张

排列-所有可能的数字集

您正在寻找置换公式:

nPk = n!/(n-k)!

在您的情况下,您有9个条目,并且要选择所有条目,即9P9 = 9!= 362880

您可以在O’Reilly的“ PHP Cookbook”的食谱4.26中找到一种可置换的PHP算法。

pc_permute(array(0, 1, 2, 3, 4, 5, 7, 8));

从O’Reilly复制:

function pc_permute($items, $perms = array( )) {    if (empty($items)) {         print join(' ', $perms) . "n";    }  else {        for ($i = count($items) - 1; $i >= 0; --$i) {  $newitems = $items;  $newperms = $perms;  list($foo) = array_splice($newitems, $i, 1);  array_unshift($newperms, $foo);  pc_permute($newitems, $newperms);         }    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5014882.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存