求解一个排列组合问题 - V2EX
ziger

求解一个排列组合问题

  •  
  •   ziger Nov 28, 2023 2971 views
    This topic created in 918 days ago, the information mentioned may be changed or developed.

    code 由 6 个英文字符[A-Z]组成,如 AAAAAA ; 要求每两个 code 最少有两个字符不同, 如 AAAAAA ,AAAABB ; 一共有多少种 code ?

    18 replies    2023-11-29 13:35:19 +08:00
    i_have_to_pee
        1
    i_have_to_pee  
       Nov 28, 2023   1
    26^6-26
    dyyseo
        2
    dyyseo  
       Nov 28, 2023
    10156900
    tool2d
        3
    tool2d  
       Nov 28, 2023
    @dyyseo 一看就是暴力递归。
    kphcdr
        4
    kphcdr  
       Nov 28, 2023
    chatgpt: 285610000
    文心一言:总共有 4302433444519237641338639371120181313362464693274530819581089299121177848932103525919463014410024186049242136804762844025498706102485253056693723744312089378816 种不同的 code 满足条件
    clue
        5
    clue  
       Nov 28, 2023
    26^5 种吧?把某一位当校验位,应该能保证校验位一定不同
    ziger
        6
    ziger  
    OP
       Nov 28, 2023 via Android
    @i_have_to_pee 不可能只有 26 个不符合条件的吧
    ziger
        7
    ziger  
    OP
       Nov 28, 2023 via Android
    @kphcdr 文心一言果然名不虚传
    aaramsiconm1
        8
    aaramsiconm1  
       Nov 28, 2023
    没太看懂楼主题目,是要求每两个 code 最少有两个字符不同的 code 集合有多少个,还是这样的 code 集合中最多有多少种 code ?
    ziger
        9
    ziger  
    OP
       Nov 28, 2023 via Android
    @aaramsiconm1 后者,最多有多少种 code
    ziger
        10
    ziger  
    OP
       Nov 28, 2023
    @clue 应该是,如果只要求 1 位不同,那是 26^6 种, 要求 6 位全部不同,只有 26^1 种,中间应该是符合规律的,只是没想到严格一点的证明思路
    opengps
        11
    opengps  
       Nov 28, 2023
    考虑了半天,我也是一楼的结果,26^6 标识全部,减掉 AAAAAA -ZZZZZZ 这 26 个极端不满足即可
    kphcdr
        12
    kphcdr  
       Nov 28, 2023
    @kphcdr #4
    gydi
        13
    gydi  
       Nov 28, 2023
    26 ^ 6 - 6 * 26 * 25 - 26
    要减去 AAAAAB 和 AAAAAA 这两种吧
    lewuyang
        14
    lewuyang  
       Nov 28, 2023
    @clue 我觉得就是这个结果。
    w16311
        15
    w16311  
       Nov 28, 2023   1
    @ziger 把 code 当作一个树,正常的排列因为每个叶子( A ,B ,C...)都是不一样的可以确保每个 code 至少有一位不同。同理,把叶子结点囊括 2 个 letter 即可且保证两个 letter 完全不一样,这样的叶子结点可选元素有 26 个,最后的解为 26^4*26=26^5 。
    ps:证明 2letter 完全不同的最大集合包含元素个数为 26 ,可用反证法。
    NoOneNoBody
        16
    NoOneNoBody  
      &bsp;Nov 28, 2023
    两位组合,四位排列
    p8YFk4f3E8SJ3aEv
        17
    p8YFk4f3E8SJ3aEv  
       Nov 28, 2023
    266 - (26 * C(5, 1) * 255) - (26 * C(5, 2) * 254) - (26 * C(5, 3) * 253) ≈ 1,535,316,000
    edward1987
        18
    edward1987  
       Nov 29, 2023
    虽然我想的也是 26^5 ,但是暴力求解的结果小于这个理论值。
    https://jsfiddle.net/vdtn40hy/8/
    在集合大小为 5 的情况下,分别跑了 长度为 3 、4 、5 、6 的 CODE 集合大小,都比 x^(n-1)小
    run(3); // 19
    run(4);// 89
    run(5);// 421
    run(6);// 2045
    About     Help     Advertise     Blog     API     FAQ     Solana     915 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 58ms UTC 21:01 PVG 05:01 LAX 14:01 JFK 17:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86