您正在寻找置换公式:
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); } }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)