排列-所有可能的数字集

如何解决排列-所有可能的数字集?

开发过程中遇到排列-所有可能的数字集的问题如何解决?下面主要结合日常开发的经验,给出你关于排列-所有可能的数字集的解决方法建议,希望对你解决排列-所有可能的数字集有所启发或帮助;

问题描述

您正在寻找置换公式:

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到8的数字。我想结果是这些数字的所有可能集合,每个集合都应使用所有数字,每个数字在集合中只能出现一次。

我希望看到用PHP制作的解决方案可以打印出结果。或者,至少,我希望在组合理论上有所收获,因为我早已忘记了它。计算多少排列的公式是什么?

示例集:

  • 0-1-2-3-4-5-6-7-8
  • 0-1-2-3-4-5-6-8-7
  • 0-1-2-3-4-5-8-6-7
  • 0-1-2-3-4-8-5-6-7
  • 0-1-2-3-8-4-5-6-7
  • 0-1-2-8-3-4-5-6-7
  • 等等…

编程问答相关问答

我的环境详情: <ul> <li>操作系统:Ubuntu 20.04</li> <li>节点版本:9.6.1</li> <li>Qt 版本:5.9.1</li> </ul> 我
此问题使用 <a href="https://people.ucsc.edu/%7Emclapham/eart125/data/georoc.csv" rel="nofollow noreferrer">https://people.ucsc.edu/~
对不起,我正在绞尽脑汁想办法解决这个问题。 我的 kafka 代理说等待连接到 Zookeper 然后关闭(超时)
我有一个 pypsark 数据框保存为 <code>temp_view</code>,我需要将它保存到 <code>Table2</code> 中的 <code>DB2</code>
我想在 <a href="https://www.brightsign.biz/digital-signage-products/XT-product-line/XT1144" rel="nofollow noreferrer">BrightSign XT114
我对 sql 很陌生,一直在尝试使用以下脚本对其进行参数化。 <strong>这是我的代码:</strong> <pre><
<ol> <li>现在我正在考虑为 android 开发一个应用程序并想要获取位置信息。</li> <li>所以我决定使用 xamarin 的
我正在使用 TestNg 运行并行测试,我想在脚本中的某些点停止/终止线程。这个脚本有很多层,所以简单
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注