擅长:python、mysql、java
<p>这是一个约束编程问题,可以这样解决:
需要pip安装python约束</p>
<pre><code>from constraint import *
problem = Problem()
l = range(10)
for v in ["a", "b", "c", "d"]:
problem.addVariable(v, l)
problem.addConstraint(AllDifferentConstraint())
problem.addConstraint(lambda a, b, c, d : 4*(a*1000+ b*100+ c*10 + d) == 1000*d + 100*c + 10*b + a,
("a", "b", "c", "d"))
print problem.getSolutions()
</code></pre>
<p>这里的计算时间可以忽略不计,但是对于更复杂的问题,由于搜索空间得到了有效的搜索,计算时间可能比嵌入循环要短得多</p>