所以,我需要一些帮助来加速我的程序,提高效率,这样就不会占用笔记本电脑无法处理的太多内存。首先,我正在创建一个程序来解决数独问题。输入一个普通值(1111111111111111),然后通过一些操作,更改一些数字,然后它开始检查数独的有效性。如果它不是合法的,它会搜索变量“y”,一个类似于计数器/索引的东西,是否在其中一个组中,在第一个组中,它运行一些求和。您将看到:
tablero = 1111111111111111
g1 = range(4,4294967296,4)
g2 = range(16,4294967296,16)
g3 = range(64,4294967296,64)
g4 = range(256,4294967296,256)
g5 = range(1024,4294967296,1024)
g6 = range(4096,4294967296,4096)
g7 = range(16384,4294967296,16384)
g8 = range(65536,4294967296,65536)
g9 = range(262144,4294967296,262144)
g10 = range(1048576,4294967296,1048576)
g11 = range(4194304,4294967296,4194304)
g12 = range(16777216,4294967296,16777216)
g13 = range(67108864,4294967296,67108864)
g14 = range(268435456,4294967296,268435456)
g15 = range(1073741824,4294967296,1073741824)
g16 = range(500000,4294967296,500000)
y = 1
def nueva_conf():
global tablero
global y
if y in g15:
tablero = tablero + 700000000000000 - 33333333333333
elif y in g14:
tablero = tablero + 70000000000000 - 3333333333333
elif y in g13:
tablero = tablero + 7000000000000 - 333333333333
elif y in g12:
tablero = tablero + 700000000000 - 33333333333
elif y in g11:
tablero = tablero + 70000000000 - 3333333333
elif y in g10:
tablero = tablero + 7000000000 - 333333333
...
elif y in g3:
tablero = tablero + 700 - 33
elif y in g2:
tablero = tablero + 70 - 3
elif y in g1:
tablero = tablero + 7
else:
tablero = tablero + 1
tablero_copy = tablero
y = y+1
这是我需要改进的部分,因为我认为这会消耗我很大一部分的记忆。我真的不知道如何使它更有效率。我真的希望它能以这种方式工作,包括各种各样的操作。我已经在研究另一种解决数独问题的方法了,但这是我自己做的,没有帮助,我觉得有可能。你觉得呢,Python程序员?你知道吗
与其检查数字列表,不如检查规则是否正确。这要快得多,而且可以程序化:
相关问题 更多 >
编程相关推荐