V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
n031k1
V2EX  ›  问与答

最短包含所有四位数的切分字段

  •  1
     
  •   n031k1 · 2018-12-27 15:56:57 +08:00 · 902 次点击
    这是一个创建于 1960 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我(小白一只)想生成一个包含所有四位数的字段 要求有: 切分以后每一部分在 200 个数字以内 包含了所有四位数可能出现的组合 总组数最少…

    现在用 python 生成了一个 10002 位的未拆分字段…

    3 条回复    2018-12-28 15:21:57 +08:00
    n031k1
        1
    n031k1  
    OP
       2018-12-27 15:57:36 +08:00 via iPhone
    import sys

    sys.setrecursionlimit(10001)

    v = ['%04d' % a for a in range(0,9999)]
    e = dict([(a,[(a[1:]+b) for b in '0123456789' if a[1:] + b != a]) for a in v])


    def run(n, e,used, count):
    if count + 1 == len(e):
    return n
    used.add(n)
    for i in e[n]:
    if i not in used:
    r = run(i, e, used, count + 1)
    if r is not None:
    return n[0] + r
    used.remove(n)
    return None


    print run('0000',e,set(),0)
    whileFalse
        2
    whileFalse  
       2018-12-27 19:08:09 +08:00
    我脑里出现了一个四维迷宫……
    n031k1
        3
    n031k1  
    OP
       2018-12-28 15:21:57 +08:00
    有没有同学救救伸手党!不行我就要动脑了!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5621 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 07:15 · PVG 15:15 · LAX 00:15 · JFK 03:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.